2015-09-23 4 views
0

Я пытаюсь сделать UIButton программно в верхнем правом углу UIImageView, пока у меня есть UIImageView, и я хочу создать UIButton на верхнем правом краю UIImageView всякий раз, когда изображение загружается в представление изображения. Я не знаю, как я мог это достичь.Добавление UIButton в верхнем правом краю UIImageView

UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; 
         [button setTitle:@"X" forState:UIControlStateNormal]; 
         [button sizeToFit]; 
         button.center = CGPointMake(self.img1.frame.origin.x+self.img1.frame.size.width,self.img1.bounds.origin.y); 

[self.img1 addsubView: button];

Здесь img1 представляет собой изображение. Я хочу добавить эту кнопку в верхнем правом углу img1.

Как я могу это достичь?

+0

что проблема с кодом? –

+0

Не уверен @ Mr.T. Он не добавляется в верхнем правом углу ImageView, и этого я хотел достичь. – Rosh

+0

Посмотрите на иерархию представления отладки, чтобы увидеть точное положение кнопки –

ответ

2
[self.img1 addSubView:button]; 
[button setFrame:CGRectMake(self.img1.size.width-button.frame.size.width,0,button.frame.size.width, button.frame.size.height)]; 
+0

Спасибо @Idrees Ashraf. Я не уверен, почему он не работает. Возможно, мне не хватает чего-то, чего я не могу понять. Как только я выясню, я приму свой ответ. – Rosh

0

Вы также можете использовать автозапуск для этого.

NSMutableArray * constraints = [NSMutableArray array]; 
[constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView 
    attribute:NSLayoutAttributeTopMargin 
    relatedBy:NSLayoutRelationEqual 
    toItem:separatorView 
    attribute:NSLayoutAttributeY 
    multiplier:1.0 
    constant:0]]; 
[constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView 
    attribute:NSLayoutAttributeRightMargin 
    relatedBy:NSLayoutRelationEqual 
    toItem:separatorView 
    attribute:NSLayoutAttributeRight 
    multiplier:1.0 
    constant:0]]; 
[button addConstraints:constraints]; 
[self.img1 addsubView : button]; 
0
UIImageView *img1 = [[UIImageView alloc] initWithFrame:CGRectMake(imageX,imageY,imageWidth,imageHeight)]; 

float buttonWidth = 30; 

UIButton *button =[ [UIButton alloc] initWithFrame:CGRectMake(img1.frame.size.width - buttonWidth,0, buttonWidth,buttonHeight)]; 

[self.view addSubView:img1]; 

[img1 addSubView:button]; 
Смежные вопросы