iphone - 如何调整 UISwitch 的大小?

标签 iphone cocoa cocoa-touch

我做了一个custom UISwitch (from this post) 。但问题是,我的自定义文本有点长。有什么办法可以调整开关的大小吗? [我尝试了setBounds,但没有成功]

编辑:

这是我使用的代码:

@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"];

最佳答案

最简单的方法是调整它的大小,作为 View :

 UISwitch *mySwitch = [[UISwitch alloc] init];
 mySwitch.transform = CGAffineTransformMakeScale(0.75, 0.75);

你不必关心任何其他事情!

关于iphone - 如何调整 UISwitch 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949300/

相关文章:

iphone - 在内存中加载 View ——viewWillAppear 方法调用

iphone - 在 iPhone 中显示带有文本框的警报 View

ios - 将 Storyboard 上的 View 置于所有其他 View 之上

cocoa - 从 Cocoa 应用程序发送短信

objective-c - NSView subview 的 Alpha 值

ios - Tesseract iOS 相机精度低

objective-c - 最近打开的应用程序

macos - 我必须使用目录的本地化版本吗?

iphone - CALayer 给每个子层投下阴影,如何去除?

objective-c - UIView 会在 Cocoa Touch 中释放它的 subview 吗?