我从UIScrollView创建了一个自定义组件.
我创建一个自定义UIScrollview类并将其添加到我的滚动视图.
在" - (void)drawRect:(CGRect)rect"中的自定义类中,我按照我想要的方式设计滚动视图.一切正常.
我的问题是如何将我的scrollview添加为Custom类的委托.
我在我的自定义类中做了这个 -
self.delegate = self;
Run Code Online (Sandbox Code Playgroud)
并且委托得到设置,我可以访问UIScroll视图委托方法(如 - - (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView).
我的问题是,一旦我将我的代表设置为'self.delegate = self;' 编译器给我一个警告,如下所示
请任何人帮我修复此警告.
所以我有以下视图层次结构:
我的viewController视图中的全尺寸scrollView,具有以下约束: 
这些是对containerView的约束(忽略第二个,它是我的问题的一个hacky半修复):
我有状态栏,导航栏和标签栏可见.
问题是,当我设置断点来检查scrollView的contentInset时,它在顶部显示64,在底部显示49,左和右为零.没有办法在IB中设置contentInset,我尝试在IBAction中将其设置为UIEdgeInsetZeio,但这也没有解决它.这是通过在我的contentView上方和下方添加空格来搞砸我的scrollview,我该如何解决这个问题?
我在ui上面有两个按钮"Submit"和"Reset",下面是我的表格.问题是当我打开键盘时,表单向上滚动并位于顶部按钮布局下方.应该是什么问题?我想只在顶部显示buutons.
我试图在我的uiscrollview中设置内容偏移量.我尝试了以下,但没有一个有效.以下任何一个都不会以任何方式影响我的scrollView,它在屏幕上显示为正常:
let point = CGPoint(x: 0, y: self.view.frame.height / 2)
self.scrollView.setContentOffset(point, animated: true)
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset.y = self.view.frame.size.height / 2
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset = CGPointMake(0, self.view.frame.size.height / 2)
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset = CGPointMake(0, scrollView.frame.size.height / 2)
Run Code Online (Sandbox Code Playgroud)
我的滚动视图是我视图高度的2倍.它们基本上分为两个不同的视图,我可以在它们之间进行分页.我希望scrollview从底部开始.
我有一个UIScrollView,在这个里面我有一个,在UIScrollView我UIView里面UIView有一些UITextField's,一些UILabel's,在底部有一个UITableView。
我想要UITableView适合它的内容高度,UIView适合它的内容高度,UIScrollView适合它的内容高度。
在UITableView我使用过程中它从添加/删除细胞的高度可能会改变。
使用它的最佳方法是什么AutoLayout?
- UIViewController
-- UIView
--- UIScrollView
---- UIView
----- UILabel
----- UITextField
----- UITextView
----- UITableView (at the bottom of the superview)
Run Code Online (Sandbox Code Playgroud)
或在xib中:
我有一个游戏,我需要一个字母板不断滚动,循环一组数据(A, D, X, S, R, P, F, G, H, Y, W, M)(像这样:https://www.youtube.com/watch?v = z3rO8TbkS-U&feature = youtu.be).当用户点击字母时,需要从电路板上删除该字母.我不能让棋盘停止滚动,它需要不断滚动.
我不确定如何做到这一点.我一直试图用UICollectionView做这个,但我不确定如何做到这一点.
任何帮助将不胜感激!谢谢 :)
我试图在注册/加入页面上制作一个包含3张图片的滚动视图,用于我想要制作的小应用程序.我在下面使用此代码:
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
var signInButton: UIButton!
var joinButton: UIButton!
var pageControl: UIPageControl!
@IBOutlet weak var scrollView: UIScrollView!
var colors:[UIColor] = [UIColor.redColor(), UIColor.blueColor(), UIColor.greenColor(), UIColor.yellowColor()]
var frame = CGRectMake(0, 0, 0, 0)
override func viewDidLoad() {
super.viewDidLoad()
signInButton = UIButton(frame: CGRectMake(1/3.0 * self.view.bounds.size.width, 5/6.0 * self.view.bounds.size.height, 23, 60))
joinButton = UIButton(frame: CGRectMake(2/3.0 * self.view.bounds.size.width, 5/6.0 * self.view.bounds.size.height, 23, 60))
pageControl = UIPageControl(frame: CGRectMake(1/2.0 * self.view.bounds.size.width, 70/100.0 * self.view.bounds.size.height, 23, 60))
self.view.addSubview(signInButton)
self.view.addSubview(joinButton)
self.view.addSubview(pageControl)
signInButton.addTarget(self, action: "signInButtonClicked:", …Run Code Online (Sandbox Code Playgroud) 我尝试向scrollView添加子视图(UIView)以将内容定位在scrollView中,但我对可滚动内容为何以某个偏移量开始感到困惑.
我的视图层次结构和约束看起来像这样
当我运行应用程序时(滚动视图具有粉红色背景,内容视图具有黑色背景颜色)
在我的故事板中,它看起来像这样
如果这可能有帮助,在我的viewDidAppear方法中:
override func viewDidAppear(animated: Bool) {
print(view.frame)
print(baseView.frame)
print(scrollView.frame)
print(scrollView.bounds)
print(scrollView.contentSize)
print(contentView.frame)
}
Run Code Online (Sandbox Code Playgroud)
我有
(0.0, 0.0, 375.0, 618.0)
(0.0, 64.0, 375.0, 554.0)
(0.0, 0.0, 375.0, 554.0)
(0.0, -64.0, 375.0, 554.0) //Why there is a negative y-offset here?
(375.0, 1200.0)
(0.0, 0.0, 375.0, 1200.0)
Run Code Online (Sandbox Code Playgroud) 我有一个UIScrollView,它根据某些条件在运行时调整大小.现在我正确地使用了自动布局,而不使用额外或更少的单个约束.滚动视图的第一个子视图具有滚动视图的前导,尾随,顶部,底部和相等宽度,内容视图的高度由其内部内容管理,内部内容也根据运行时条件而变化.现在根据我的约束我的内容视图不应该水平滚动,因为我使用相同的宽度滚动视图.但它正在发生.任何人都可以建议我做错了什么?这是我使用的约束的图像.
注意: - 我已经看到堆栈上的帖子,这样的问题得到了解答,但我的情况有所不同.
对不起,我有问题.我不使用storyBoard.
我想这样看.
照片来自terenceLuffy/AppStoreStyleHorizontalScrollView
但我试着这样做.Finlly,scrollView只显示这样的最后一个按钮.
这是代码:
var scView:UIScrollView = UIScrollView()
var buttonPadding:CGFloat = 10
var xOffset:CGFloat = 10
scView.backgroundColor = UIColor.blue
scView.translatesAutoresizingMaskIntoConstraints = false
func viewDidLoad() {
for i in 0 ... 10 {
let button = UIButton()
button.tag = i
button.backgroundColor = UIColor.darkGray
button.setTitle("\(i)", for: .normal)
button.addTarget(self, action: #selector(btnTouch), for: UIControlEvents.touchUpInside)
button.frame = CGRect(x: xOffset, y: CGFloat(buttonPadding), width: 70, height: 30)
xOffset = xOffset + CGFloat(buttonPadding) + button.frame.size.width
scView.addSubview(button)
}
scView.contentSize = CGSize(width: xOffset, height: scView.frame.height)
}
Run Code Online (Sandbox Code Playgroud)
请帮我.谢谢大家!
uiscrollview ×10
ios ×8
swift ×4
autolayout ×3
iphone ×2
objective-c ×2
android ×1
delegates ×1
ios9 ×1
uikit ×1
uitableview ×1
uiview ×1
xml ×1