我有一个屏幕,我在自我视图中添加了1个滚动视图.标签栏和导航栏都在那里,对于iPhone 4,视图高度为455.I在滚动视图上添加了更多内容.滚动视图和自我视图的高度相同.但是当我无法为滚动视图设置内容大小时.即使我也设置它不工作.请帮助我.谢谢
使用自动布局时,我的问题与其他'Swift UIScrollView'问题略有不同:
问题:与其他人不同,当我运行我的应用程序时,它会滚动.我的问题是滚动切断了20-30%的内容.我可以看到按钮确实构建并且在那里,但是当我放开它时,滚动回到假底部,这会切断我的内容!几天来,我一直在努力修复它以滚动整个高度,但它继续切断!!
app的描述:我使用自动布局来布局6个按钮和标签.每个按钮都是一个矩形图像,正下方有一个标签.(对不起,该网站不会让我发布图片!)
我的意见安排如下:MainView> ScrollView> ContentView>按钮和标签
我将我的contentView固定到我的ScrollView,并将我的ScrollView固定到我的MainView.我的按钮和标签都有正确构建的约束,以创建一个如下所示的列表:
矩形按钮下方的标签间距矩形按钮下方的标签间距等.
谁能告诉我为什么我不能滚动视图的全长?
我无法设法使视图的宽度适应不同屏幕尺寸的表格视图的大小
这是我在viewDidLoad()上的代码
view.tableView.registerNib(UINib(nibName: "Header", bundle: NSBundle.mainBundle()), forHeaderFooterViewReuseIdentifier: "Header")
Run Code Online (Sandbox Code Playgroud)
并在表视图代表:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
var cell = tableView.dequeueReusableHeaderFooterViewWithIdentifier("Header") as! Header
// etc
}
Run Code Online (Sandbox Code Playgroud)
请记住,我不想把它放在故事板中,而且我正在使用自动布局.
有小费吗?
自动布局约束可以定义为:
self.view.addConstraint(NSLayoutConstraint(item: label,
attribute: .Bottom,
relatedBy: .Equal,
toItem: self.view,
attribute: .Bottom,
multiplier: 1,
constant: 0))
Run Code Online (Sandbox Code Playgroud)
我不明白用什么用例multiplier.
何时在iOS AutoLayout中使用Multiplier?
这个问题可能有点宽泛,没有那么具体,但我还没有在互联网上找到有关此问题的信息。
因此,基本上,我正在设计Xcode中的View,其中包含一堆不同的容器。评论,关于我,日历和服务。
所以的确,我有4个不同的容器,一个接一个地显示。
问题是,我应该如何设计?最终,第四个容器完全超出了我们在xcode中拥有的“可设计”视图。是否应该以编程方式而不是视觉方式进行?关于自动布局的约束,等等。
非常感谢
我试图获得我的自定义UIButton的真正高度.但我总是得到一个比我预期的更小的价值.我得到的东西大约30,但预计约45.
override func awakeFromNib() {
print(self.frame.height)
self.layer.cornerRadius = self.layout.frame.height / 2.0
self.clipsToBounds = true
self.titleLabel?.adjustsFontSizeToFitWidth = true
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,但在运行时以某种方式autolayout改变了大小,这是完美的,但我无法设置右角度(总是太小).所以也许我需要乘数或类似的东西.我已经尝试添加顶部和底部的contentEdgeInsets,但它没有任何区别.
谢谢托比亚斯
我尝试使用下面的代码以编程方式在运行时关闭接口构建器中的特定子视图的自动布局.
[view removeConstraints:view.constraints];
Run Code Online (Sandbox Code Playgroud)
有人建议这样做:
如果您需要更改自动布局处于活动状态的视图的高度,则需要为高度约束创建一个IBOutlet并在运行时修改它,即:
Run Code Online (Sandbox Code Playgroud)@IBOutlet weak var heightConstraint: NSLayoutConstraint! self.heightConstraint.constant = 200
但我不明白这意味着什么.
我正在把我的头发拉出来,有点震惊,更多的是没有开始骚乱新的自动布局系统是多么可怕从xcode 6到7 ....我想要的只是一个简单的按钮,坚持到底部并填充视图控制器的宽度
all screen sizes...
UIButton *bigBottomBtn=[[UIButton alloc]initWithFrame:CGRectMake(0, self.frame.size.height-60, self.frame.size.width, 60)];
Run Code Online (Sandbox Code Playgroud)
....对于某些未知的错误原因,不适用于所有屏幕尺寸.
....不知道为什么我不能再以简单的方式添加约束或者甚至是新的方式.
我viewDidLoad在UIViewController子类中有以下方法实现:
var scrollView = UIScrollView.newAutoLayoutView()
var contentView = UIView.newAutoLayoutView()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(scrollView)
scrollView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)
scrollView.addSubview(contentView)
contentView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)
contentView.autoMatchDimension(.Height, toDimension: .Height, ofView: view)
contentView.autoMatchDimension(.Width, toDimension: .Width, ofView: view)
contentView.addSubview(customView)
customView.autoPinEdgeToSuperviewEdge(.Top, withInset:0)
customView.autoPinEdgeToSuperviewEdge(.Left, withInset:15)
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,内容不会滚动.我发现很少有PureLayout文档和示例,并且没有关于滚动视图的清楚.有人可以帮我这个吗?
autolayout ×10
ios ×10
swift ×5
objective-c ×3
storyboard ×3
uiscrollview ×3
constraints ×2
iphone ×2
xcode ×2
pure-layout ×1
scroll ×1
uibutton ×1
uitableview ×1
uiview ×1
xib ×1