У меня есть пользовательский UIView с некоторыми кнопками в качестве подзонов. Я прочитал много потоков о моей проблеме, но решения, которые были опубликованы, не работали для меня.UIButtons в пользовательском UIView не отвечает (снова)
Если я установил кадр одной из кнопок в некоторые координаты за пределами моего UIView, кнопка работает. Когда я устанавливаю кадр одной из кнопок в некоторые координаты, где пользовательский UIView и кнопка перекрываются, кнопка отвечает только в области, где они не перекрываются.
Это мой код:
Я инициализировать пользовательские UIView в методе viewDidLoad:
[super viewDidLoad];
DDButtonBar *ddButtonBar = _ddButtonBar;
[ddButtonBar showButton1:TRUE];
[ddButtonBar showButton2:TRUE];
[ddButtonBar showButton3:TRUE];
[ddButtonBar showButton4:TRUE];
[ddButtonBar showBackButton:TRUE];
[ddButtonBar showSettingsButton:TRUE];
[ddButtonBar setButtonTitle1:@"1"];
[ddButtonBar setButtonTitle2:@"2"];
[ddButtonBar setButtonTitle3:@"3"];
[ddButtonBar setButtonTitle4:@"4"];
Это мой метод инициализации в UIView:
- (id)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
if (self) {
// Standardinitialisierung
_drawButton1 = TRUE;
_drawButton2 = TRUE;
_drawButton3 = TRUE;
_drawButton4 = TRUE;
_drawBackButton = TRUE;
_drawSettingsButton = TRUE;
_buttonTitle1 = @"1";
_buttonTitle2 = @"2";
_buttonTitle3 = @"3";
_buttonTitle4 = @"4";
[self layoutSubviews];
}
return self;
}
Я рисую мои кнопки, как этого
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 addTarget:self
action:@selector(aMethod:)
forControlEvents:UIControlEventTouchUpInside];
[button1 setTitle:_buttonTitle1 forState:UIControlStateNormal];
button1.frame = CGRectMake(rechtsverschiebung, height, buttonWidth, height);
[button1 setBackgroundImage:_buttonBackground forState:UIControlStateNormal];
[button1 setTitleColor:[UIColor colorWithRed:255.0 green:255.0 blue:255 alpha:1.0] forState: UIControlStateNormal];
[button1 setTitleColor:[UIColor colorWithRed:247.0 green:165.0 blue:32 alpha:1.0] forState: UIControlStateHighlighted];
[self addSubview:button1];
[self.view bringSubviewtofront:]; попробуйте это –
amar
Я уже пробовал это, я опубликую то, что я точно сделал. Я попробовал это в своем представленииDidLoad [self.view bringSubviewToFront: _ddButtonBar]; и это в моем обычном UIView [self bringSubviewToFront: button1]; Я не могу использовать [self.view ...] в своем пользовательском UIView. – user2135074
Лучшим вариантом является дать отличный цвет для всех видов, посмотрите, какой вид находится над вашей кнопкой, или кнопка rect может выйти за пределы прямой видимости, на которую она добавлена. – amar