Как создать UIButton в верхнем левом углу и нижнем правом углу UIImageView

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

введите здесь описание изображения

Я бы хотел, чтобы обе кнопки располагались в углу красной рамки.

Для создания кнопки я использовал код ниже

   UIImageView * tappedView = (UIImageView *)[recognizer view];

[tappedView.layer setBorderColor: [[UIColor redColor] CGColor]];
[tappedView.layer setBorderWidth: 2.0];
tappedView.layer.cornerRadius = 10;
tappedView.layer.masksToBounds = NO;


UIButton *deleteBtn = [UIButton buttonWithType:UIButtonTypeCustom];
deleteBtn.frame = CGRectMake(0, 0, 20, 20);

[deleteBtn setImage:[UIImage imageNamed:@"close.png"]forState:UIControlStateNormal];

deleteBtn.layer.shadowColor = [[UIColor blackColor] CGColor];
deleteBtn.layer.shadowOffset = CGSizeMake(0,4);
deleteBtn.layer.shadowOpacity = 0.3;
[tappedView addSubview:deleteBtn];
[deleteBtn addTarget:self action:@selector(deleteProperties:) forControlEvents:UIControlEventTouchUpInside];



UIButton *zoomBtn = [UIButton buttonWithType:UIButtonTypeCustom];
zoomBtn.frame = CGRectMake(tappedView.frame.size.width, tappedView.frame.size.height, 20, 20);

[zoomBtn setImage:[UIImage imageNamed:@"close.png"]forState:UIControlStateNormal];

zoomBtn.layer.shadowColor = [[UIColor blackColor] CGColor];
zoomBtn.layer.shadowOffset = CGSizeMake(0,4);
zoomBtn.layer.shadowOpacity = 0.3;
[tappedView addSubview:zoomBtn];
[zoomBtn addTarget:self action:@selector(ZoomIn:) forControlEvents:UIControlEventTouchUpInside];

пожалуйста, направьте меня.

Я хочу вот таквведите здесь описание изображения


person thavasidurai    schedule 21.09.2012    source источник


Ответы (2)


Просто поиграйте с рамкой кнопки: например.

deleteBtn.frame = CGRectMake(-5, -5, 20, 20);

и

zoomBtn.frame = CGRectMake(tappedView.frame.size.width - 20, tappedView.frame.size.height - 20, 20, 20);

поскольку первые 2 числа являются координатами x и y, а фрейм относится к фрейму, содержащему представления.

person Brendt    schedule 21.09.2012
comment
Да. я уже пробовал это, если я даю (-5,-5,20,20) его размещение в точном положении, но на кнопке появляется красная рамка. - person thavasidurai; 21.09.2012
comment
@thavasidurai, как я уже сказал, вам просто нужно поиграть с цифрами, пока они не будут выглядеть правильно (я просто оценивал по изображениям) - person Brendt; 21.09.2012
comment
@Spynet зависит от тебя, если ты удалишь это, мой друг - person Brendt; 21.09.2012

Просто используйте zoomBtn.center, а не zoomBtn.frame — таким образом вам не нужно учитывать размер кнопки — это будет работать для кнопки любого размера.

// Create the button's frame - doesn't matter the x & y
CGRect btnFrame = CGRectMake(0.0f, 0.0f, 20.0f, 20.0f);

zoomBtn.frame = btnFrame;

// Set the zoomBtn center to the bottom right corner
zoomBtn.center = CGPointMake(tappedView.frame.size.width, tappedView.frame.size.height);

deleteBtn.frame = btnFrame;

// Set the deleteBtn center to the top left corner
deleteBtn.center = CGPointMake(0.0f, 0.0f);
person siburb    schedule 30.03.2013