gpt4 book ai didi

iphone - UItableViewCell 中的 uibutton 问题

转载 作者:行者123 更新时间:2023-12-03 19:38:15 25 4
gpt4 key购买 nike

在我的应用程序中,我使用的是自定义表格。每个单元格都有一个 uibutton 和 uiimage。当按钮上发生触摸时,我想调用 uiimagepickercontroller 方法从 iphone 库中选择图片并将其显示在 ImageView 中。我已经写了它,但收到警告...“customCell”可能不会响应动画的presentmodalviewcontroller...这里customCell是我的主类myApp的子类,也是自定义单元格的 Nib 的名称。有谁知道这个问题吗????谢谢...

编辑

- (IBAction)selectExistingPicture1 { 
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary]) {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsImageEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
[picker release];
}
else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error accessing photo library" message:@"Device does not support a photo library" delegate:nil cancelButtonTitle:@"Drat!" otherButtonTitles:nil];
[alert show];
[alert release];
}
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
CGSize newSize = CGSizeMake(80, 80);
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
imageView.image = newImage;

[picker dismissModalViewControllerAnimated:YES]; //warning shown here
}

这是自定义单元类..并且viewController类有...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];

if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
for (id currentObject in nib){
if ([currentObject isKindOfClass:[CustomCell class]]){
cell = (CustomCell *)currentObject; break;
}
}
}

NSUInteger s= indexPath.section;
//[cell setText:[NSString stringWithFormat:@"I am cell %d", indexPath.row]];

NSUInteger r = indexPath.row;
cell.imageView.image = nil;
for (s;s==0;s++)
for(r;r==0;r++)
{
UIImage *img=imageView.image;
cell.imageView.image = img;
}
return cell;
}

最佳答案

UITableViewCell 不响应 -presentModalViewController:animated:

您可以为 CustomCell 提供一个指向 View Controller 的指针,然后在 View Controller 上调用 -presentModelViewController:animated:

将实例变量添加到您的自定义单元类:

@interface CustomCell : UITableViewCell {
UIViewController *viewController;
}
@property (nonatomic, assign) UIViewController *viewController;
@end

-tableView:cellForRowAtIndexPath:中,创建新的CustomCell后,设置属性:

if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
for (id currentObject in nib){
if ([currentObject isKindOfClass:[CustomCell class]]){
cell = (CustomCell *)currentObject;
cell.viewController = self; // <-- add this
break;
}
}
}

然后,在您的 CustomCell 类中,替换

[self presentModalViewController:picker animated:YES];

[self.viewController presentModalViewController:picker animated:YES];

关于iphone - UItableViewCell 中的 uibutton 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com