zl程序教程

您现在的位置是:首页 >  其它

当前栏目

UITableview自定义accessory按钮和ImageView大小一致

自定义 大小 按钮 一致 ImageView UITableView
2023-09-11 14:18:58 时间
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
        cell.accessoryType = UITableViewCellAccessoryDetailButton;
        cell.textLabel.font = [UIFont systemFontOfSize:19.0];
        
        UIImage *image = [UIImage imageNamed:@"england"];
        UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
        CGRect frame = CGRectMake(0.0,0.0,15,15);
        button.frame = frame;
        [button setBackgroundImage:image forState:UIControlStateNormal];
        button.backgroundColor = [UIColor clearColor];
        cell.accessoryView = button;
         [button addTarget:self action:@selector(btnClicked:event:) forControlEvents:UIControlEventTouchUpInside];
    }
- (void)btnClicked:(id)sender event:(id)event
{
    NSSet * touches = [event allTouches];
    UITouch * touch = [touches anyObject];
    CGPoint currentTouchPosition = [touch locationInView:self.countriesTableView];
    NSIndexPath * indexPath = [self.countriesTableView indexPathForRowAtPoint:currentTouchPosition];
    if(indexPath != nil)
    {
        [self tableView:self.countriesTableView accessoryButtonTappedForRowWithIndexPath:indexPath];
    }
}

设置imageView大小

    cell.imageView.image = [MainTableViewController scale:item.flag toSize:CGSizeMake(115, 75)];
+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size
{
    UIGraphicsBeginImageContext(size);
    [image drawInRect:CGRectMake(0, 0, size.width, size.height)];
    UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return scaledImage;
}