i有一个屏幕,其中包含多个UIIMAGE(它们的数量和大小仅在运行时已知,因此我以编程方式添加它们),在这些UIIMAGES下方添加了一些固定按钮。
如何在所有图像下肯定会显示按钮?
我尝试了
1。)将按钮和图像放入2个单独的视图中,然后在它们之间添加约束。没有结果,按钮隐藏在图像后面。
2。)将按钮放入单独的视图中,并在代码中设置约束(尝试ViewDidload和ViewDidappear)。约束是在容器视图和屏幕顶部之间设置的,具体取决于图像的尺寸和数量。代码的示例:
-(void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSInteger totalImages = [self.object.fullphotos count];
self.labelsTopConstraint.constant = totalImages*(imageHeight + 20) + 10;
}
在情况2的情况下,按钮的位置正确,但不要响应触摸。
我应该如何正确布局?
预先感谢!
在最后一个单元格中添加这些图像的桌面视图。
最好的方法是用刷新方法创建一个可以在ViewDidAppear中调用的对象
myObject.h
@interface MyObject : UIViewController
@property (nonatomic,strong) UIImageview *img;
@property (nonatomic,strong) UIButton *btn;
- (void) refresh;
MyObject.m
- (void)viewDidLoad {
[self.btn addTarget:self action:@selector(myMethod:) forControlEvents:UIControlEventTouchUpInside];
}
- (void) refresh {
//make your settings here
}
-(void)myMethod {
//your button action here
}
然后在控制器中,如果您的对象在nsarray中:
-(void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
for (MyObject *myObj in objectsArray) {
@autoreleasePool {
[myObj refresh];
}
}
}