![](/img/trans.png)
[英]How to add one UIButton on Row and Section of UITableview in Objective-C
[英]How to add Capture Image to UITableView in Objective c
我是iOS的新手,我面臨有關在Image Picker中設置UITableView中的圖像的問題。
我的代碼是這樣的
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
CGSize newSizeClient=CGSizeMake(200,200); // I am giving resolution 50*50 , you can change your need
UIGraphicsBeginImageContext(newSizeClient);
[image drawInRect:CGRectMake(0, 0, newSizeClient.width, newSizeClient.height)];
UIImage* newImageClient = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
captureimg.image = newImageClient;
[imageArray replaceObjectAtIndex:index withObject:captureimg.image];
dispatch_async(dispatch_get_main_queue(), ^{
[Audittable reloadData];
});
NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation((newImageClient), 0.5)];
OCSSignString = [imgData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
[picker dismissModalViewControllerAnimated:YES];
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 30,40,40)];
UIImage *wonImage = captureimg.image;
imageView.contentMode=UIViewContentModeCenter;
[imageView setImage:wonImage];
}
在cellforRowAtIndexPath中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.Photobtn.tag=indexPath.row;
[cell.Photobtn addTarget:self action:@selector(btnphotoClick:) forControlEvents:UIControlEventTouchUpInside];
cell.CaptureImage.image = [imageArray objectAtIndex:indexPath.row];
}
我面臨的問題是它沒有根據圖像中的行進行設置
我正在根據tableviewcell捕獲圖像
-(void)btnphotoClick:(UIButton *)sender
{
AuditNextTableViewCell *cell = sender.superview.superview;
imageArray =[[NSMutableArray alloc]init];
for (int i=0; i<idarray.count; i++) {
[imageArray addObject:[UIImage new]];
}
index=sender.tag;
if (! [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
UIAlertView *deviceNotFoundAlert = [[UIAlertView alloc] initWithTitle:@"No Device" message:@"Camera is not available"
delegate:nil
cancelButtonTitle:@"Okay"
otherButtonTitles:nil];
[deviceNotFoundAlert show];
}
else
{
UIImagePickerController *cameraPicker = [[UIImagePickerController alloc] init];
cameraPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraPicker.delegate =self;
[self presentViewController:cameraPicker animated:YES completion:nil];
}
}
我面臨的問題是它已經過去了。謝謝您!
問題在於您每次使用空的UIImage
對象初始化imageArray
時所執行的按鈕操作。 從您的按鈕操作中刪除此代碼。
imageArray = [[NSMutableArray alloc]init];
for (int i=0; i<idarray.count; i++) {
[imageArray addObject:[UIImage new]];
}
首次加載tableView
時,只需使用空UIImage
對象初始化一次imageArray
即可。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
BookingCell *cell=(BookingCell*)[self.tablebview cellForRowAtIndexPath:indexPath];
cell.CaptureImage.image = image;
}
-(IBAction)buttonclick:(id)sender
{
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.