我有一个屏幕,其中包含多个UIImages(它们的数量和大小仅在运行时已知,因此我以编程方式添加它们)以及这些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个按钮位于右侧,但没有响应触摸。
我应该如何正确布局一切?
提前致谢!
答案 0 :(得分:1)
最好的方法是使用可在viewDidAppear
中调用的刷新方法创建ObjectMyObject.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];
}
}
}
答案 1 :(得分:1)
对这些图像进行Tableview并在最后一个单元格中添加按钮。