我已經做了正常UISwitch編程目標C一個UITableViewCell內,當我走在模擬器上查看它,我看到這一點:UISwitch圖形神器
爲什麼會發生的事情,我怎麼能修理它?
這裏是因爲我是如何實現它的代碼:
UISwitch類:
#import <Foundation/Foundation.h>
@interface SwitchCell : UITableViewCell
+ (SwitchCell*)SwitchCellMake;
@end
@implementation SwitchCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
+ (SwitchCell*)SwitchCellMake{
SwitchCell * newSwitchCell = [[SwitchCell alloc]init];
UISwitch * cellSwitch = [[UISwitch alloc] init];
[newSwitchCell.contentView addSubview:cellSwitch];
[cellSwitch setCenter:CGPointMake(600, 30)];
return newSwitchCell;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated{
[super setSelected:selected animated:animated];
}
@end
viewDidLoad中:
- (void)viewDidLoad{
[super viewDidLoad];
[arySwitchCells addObject:[SwitchCell SwitchCellMake]];
}
而且的cellForRowAtIndexPath方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
SwitchCell *cellSwitchCell = (SwitchCell *)[tableView dequeueReusableCellWithIdentifier:@"SwitchCell"];
cellSwitchCell = [arySwitchCells objectAtIndex:indexPath.row];
return cellSwitchCell;
}
什麼是SwitchCell類型?它是UITableViewCell的子類嗎?這段代碼來自tableView:cellForRowAtIndexPath方法嗎? – Greg
SwitchCell是UITableViewCell的直接子類,沒有任何修改。這是爲tableView:cellForRowAtIndexPath。 – Necro
使用'[[UISWitch alloc] init]'將交換機創建爲默認大小。然後根據需要更新其框架的原點。你的單元格是否真的足夠寬以達到860的「x」值?這必須是僅限風景的iPad應用程序。 – rmaddy