【发布时间】:2014-04-13 13:04:22
【问题描述】:
所以我有一个集合视图,它有一个过滤器按钮,我可以点击它来显示一个过滤器选择器。我的意图是让过滤器选择器显示在它添加到的视图的底部。在这种情况下,我将其添加到控制器视图中,例如self.view.
目前我正在这样做:
CGFloat viewHeight = [[self view] frame].size.height;
CGFloat pickerWidth = [[self view] bounds].size.width;
CGFloat pickerHeight;
UIPickerView *filterPicker = [[UIPickerView alloc] init];
pickerHeight = [filterPicker frame].size.height;
[filterPicker setFrame:CGRectMake(0, viewHeight - pickerHeight, pickerWidth, pickerHeight)];
[[self view] addSubview:filterPicker];
它在 iPhone 4 和 5 上都能正常工作。这有多可靠? 我还有其他方法吗?
我试过了:
[filterPicker setAutoresizingMask: UIViewAutoresizingFlexibleTopMargin];
但它没有任何效果。
问候
【问题讨论】:
-
顺便说一句,您的 autoresizingMask 是错误的:如果您想将视图定位在 BOTTOM,您需要将遮罩设置为 UIViewAutoresizingFlexibleTopMargin,因为您希望底部边距固定为零,而不是灵活。
-
复制并粘贴了错误的代码,但将其设置为顶部不起作用。
-
UIViewAutoresizingFlexibleTopMargin应该可以工作,但如果启用了 AutoLayout 则可能不行...
标签: ios objective-c cocoa-touch uiview uicollectionview