布局视图下面另一个编程创建的视图



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];
        }
    }
}

最新更新