Iphone 如何调整开关按钮的大小?

Iphone 如何调整开关按钮的大小?,iphone,ios,xcode,uitableview,uiswitch,Iphone,Ios,Xcode,Uitableview,Uiswitch,我想调整附加在UITableView上的UISwitch按钮的大小。我在google上找到了一些帮助,并使用CGAffineTransformMakeScale成功地实现了这一点,但是当我更改位置时,我遇到了一个问题此开关按钮变为其原始大小可能是因为它在表视图中,但我正在ViewDidLoad委托中调整它的大小。这就是我正在做的 - (void)viewDidLoad{ switchFB = [[UISwitch alloc] initWithFrame:CGRectMake(227, 8,

我想调整附加在
UITableView
上的
UISwitch
按钮的大小。我在google上找到了一些帮助,并使用
CGAffineTransformMakeScale
成功地实现了这一点,但是当我更改位置时,我遇到了一个问题此开关按钮变为其原始大小可能是因为它在表视图中,但我正在
ViewDidLoad
委托中调整它的大小。这就是我正在做的

- (void)viewDidLoad{
 switchFB = [[UISwitch alloc] initWithFrame:CGRectMake(227, 8, 79, 27)];
switchFB.transform= CGAffineTransformMakeScale(0.7, 0.7);}
和位于索引路径的行的单元格中

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{`static NSString *CellIdentifier = @"SettingsCell";`

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    cell.backgroundColor = [UIColor clearColor];
    cell.selectionStyle = UITableViewCellSelectionStyleBlue;
    }
请检查我做错的地方,如果我的程序不正确,请你建议我更好的方法。这对我来说太好了。提前谢谢。

试试这个

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

在iOS 8中,我使用自定义容器视图成功地调整了UI开关的大小。代码如下所示:

@interface MyContainerView : UIView 

@end

@implementation MyContainerView

- (void)layoutSubviews
{
    [super layoutSubviews];

    // Center my subviews so the transform views properly
    CGPoint c = CGPointCenterOfRect(self.bounds);
    for (UIView * v in self.subviews)
    {
        v.center = c;
    }

}
@end


UISwitch  * switchFB = [[UISwitch alloc] initWithFrame:CGRectZero];
switchFB.transform= CGAffineTransformMakeScale(0.7, 0.7);

CGSize s = switchFB.intrinsicContentSize;
CGRect r = CGRectMake(0,0,s.width, s.height);
MyContainerView * v = [[MyContainerView alloc] initWithFrame:r];

[v addSubview:switchFB];
容器视图有两个用途: -你有一个可以正确自动布局的手柄 -您可以对LayoutSubView进行子类化,并在内置自动布局尝试后自动重新居中转换控件


请注意,UISwitch在转换时会调整其内部内容大小,我使用它来设置容器视图的框架。

我建议尝试一下我编写的这个库。我有一个自述文件,使它很容易找出如何使用。它允许您制作任意大小的开关。即使您不想使用库,您也可以看到我是如何进行自定义切换的。

您仔细阅读了我的问题吗,伙计?我正在按照您的建议执行相同的操作。是的,您需要根据需要更改0.75。下面是对我有用的mySwitch.transform=CGAffineTransformMakeScale(1.25,1.1);我用上面的解决方案解决了同样的问题。我也在用我提到的view Dod load方法做同样的事情。switchFB.transform=CGAffineTransformMakeScale(0.7,0.7);}它也调整开关按钮的大小。是的,我试过了,它的工作很好,但拐角处的开关被切断了,开关的外观被破坏了。有什么建议吗。