我想要在 iPhone 中使用以下类型的布局(使用 UItableview、Uitableviewcell、Uilabel 和 Uiimageview)。
(假设浅蓝色点 == uiimageview)
在每个 UItableviewcell 中,我有 1 个 UIimageview 和 1 个 Uilabel。两个控件的起始灯是相同的左上角。我的 uilabel 的内容是动态的,而图像只是一张静态图像。
与 uilabel 的内容相比,图像非常小。所以,我的图像垂直和水平居中。但我只想在左上角。
编辑:
我已经这样做了Uitableviewcell
但是如果 Uilabel 的行数是 2 或更多,那么 imageview 的位置就会改变。它在垂直和水平方向居中。但我只希望图像视图在左上角位置是否 uilabel 的第 1、2、3 行 ....n
我的代码在这里:
In CommonCustomeCell.m
- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier];
if (self) {
dotImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"dotPoint.png"]];
dotImage.opaque = YES;
[self.contentView addSubview:dotImage];
titleName3 = [[UILabel alloc] init];
titleName3.textAlignment = UITextAlignmentLeft;
titleName3.backgroundColor = [UIColor clearColor];
titleName3.adjustsFontSizeToFitWidth = FALSE;
titleName3.font = [UIFont systemFontOfSize:14];
titleName3.textColor = [UIColor colorWithRed:17.0/255.0 green:72.0/255.0 blue:147.0/255.0 alpha:1];
titleName3.lineBreakMode = NSLineBreakByWordWrapping;
[titleName3 sizeToFit];
[self.contentView addSubview:titleName3];
}
-(void)layoutSubviews
{
frame = CGRectMake(20,2,self.bounds.size.width - 45 , self.bounds.size.height);
[titleName3 setFrame:frame];
frame = CGRectMake(4,10,dotImage.frame.size.width,dotImage.frame.size.height);
self.dotImage.frame = frame;
}
}
在 RootViewController.m 文件中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CommonCustomeCell *cell = (CommonCustomeCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CommonCustomeCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
[cell.dotImage5 setImage:[UIImage imageNamed:@"myLogo.png"]];
cell.titleName3.text = [[myArr objectAtIndex:indexPath.row] objectForKey:@"title"];
}
}
帮助我,提前谢谢。