Я сделал custom UISwitch (from this post). Но проблема в том, что мои пользовательские тексты немного длинны. Есть ли способ изменить размер переключателя? [Я пытался setBounds
, не работает]Как изменить размер UISwitch?
Edit:
Вот код, который я использовал:
@interface CustomUISwitch : UISwitch
- (void) setLeftLabelText: (NSString *) labelText;
- (void) setRightLabelText: (NSString *) labelText;
@end
@implementation CustomUISwitch
- (UIView *) slider
{
return [[self subviews] lastObject];
}
- (UIView *) textHolder
{
return [[[self slider] subviews] objectAtIndex:2];
}
- (UILabel *) leftLabel
{
return [[[self textHolder] subviews] objectAtIndex:0];
}
- (UILabel *) rightLabel
{
return [[[self textHolder] subviews] objectAtIndex:1];
}
- (void) setLeftLabelText: (NSString *) labelText
{
[[self leftLabel] setText:labelText];
}
- (void) setRightLabelText: (NSString *) labelText
{
[[self rightLabel] setText:labelText];
}
@end
mySwitch = [[CustomUISwitch alloc] initWithFrame:CGRectZero];
//Tried these, but did not work
//CGRect aFrame = mySwitch.frame;
//aFrame.size.width = 200;
//aFrame.size.height = 100;
//mySwitch.frame = aFrame;
[mySwitch setLeftLabelText: @"longValue1"];
[mySwitch setRightLabelText: @"longValue2"];
Вы используете UISwitch (от объекта съемки) или UICustomSwitch (с Вашей ссылки)? [Класс UICustomSwitch] (http://www.catamount.com/blog/?p=1063) на самом деле является UISlider. – progrmr
, но он наследует UISwitch, как он может быть слайдером? – mshsayem
UICustomSwitch наследует UISlider. Какой из них вы используете? Ваш код говорит CustomUISwitch, ваш вопрос говорит UISwitch, но ссылка, которую вы указали, на реализацию UICustomSwitch? Мы не можем ответить на ваш вопрос очень хорошо, если вы не скажете, какой из 3 вы действительно имели в виду! – progrmr