我打电话MFMailComposeViewController给UITableViewController.问题是当我在"邮件撰写"窗口中选择" 取消"或" 发送"按钮时,从不调用委托方法:
mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult
Run Code Online (Sandbox Code Playgroud)
这是表视图类:
@implementation DetailsTableViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section==0 && indexPath.row==4) {
//SEND MAIL
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
if ([MFMailComposeViewController canSendMail]) {
[controller setSubject:[NSString stringWithFormat:@"Ref %@",[item objectForKey:@"reference"]]];
[controller setMessageBody:@" " isHTML:NO];
[controller setToRecipients:[NSArray arrayWithObject:[item objectForKey:@"email"]]];
[self presentModalViewController:controller animated:YES];
}
[controller release];
}
}
- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
// NEVER REACHES THIS PLACE
[self dismissModalViewControllerAnimated:YES];
NSLog (@"mail finished");
}
Run Code Online (Sandbox Code Playgroud)
应用程序不会崩溃.按下"取消"或"发送"按钮后,"构建窗口"将停留在屏幕上并禁用按钮.我可以按Home键退出应用程序.
我可以打开TableView的其他模态视图,但不能打开MailCompose.
谁知道一个好的解决方案?
到目前为止,我还没有找到比使用文件>新文件然后将内容从旧文件复制到新文件更好的方法.
您可以在Finder中复制并重新导入,但这几乎是相同的工作量:切换到finder,复制,导入新文件.
使用一个类执行此操作并不是很难,但如果需要基于超类生成10个以上类似的类,该怎么办.
在Eclipse中,您选择文件,然后将其复制/粘贴到同一文件夹中.在finder中有重复.
有一个菜单Edit> Duplicate.但它总是被禁用.我尝试选择各种文件,类,方法.它仍然被禁用.
我有一个应用程序,其中UITableView的数据源每隔30秒由一个后台线程从远程服务器更新.
如果用户正在滚动tableView或者正在进行tableView,则会发生崩溃reloadTableView:.崩溃的原因是崩溃时表中的行数与重绘开始时的行数不匹配.
当请求的TableView单元格超出范围时会发生另一次崩溃,因为在numberofTableViewCells:调用时间和调用时间之间cellfForRowAtIndexPath,数据模型已更改且单元格不再存在.
tableView的数据从后台线程更新.在从服务器加载数据时,用户仍应能够与tableView进行交互,但现在导致崩溃.
在更新tableViewDataSource时,如何阻止tableView滚动或重新加载?这种情况的最佳做法是什么?
谢谢.
有一个类似的问题,但答案很笼统,模糊.(检测UITableView滚动)请不要忽略.我正在寻找具体的解决方案.
我有UITableView可编辑的文本字段,并在选择另一个单元格时出现PickerView.我需要的是在用户开始滚动时隐藏firstResponder或PickerView UITableView.
到目前为止,检测UITableView滚动有一个你应该继承的消息UITableView.如果你的子类UITableView仍然是内部/私人UIScrollView无法访问.如何访问UITableView父ScrollView(不违法)?
谢谢.
我想执行不同的操作,不是删除对象而是归档它们.当用户在tableViewCell上刷卡时,我需要显示"存档"而不是删除.将"删除"按钮文本和颜色更改为其他内容.
如何自定义"删除模式"外观?
我有以下简单的课程:
@interface Article: NSObject {
NSString *title;
}
@property (copy, nonatomic) NSString *title;
@end
@implementation
- (void)setTitle:(NSString *)aString {
if ((!title && !aString) || (title && aString && [title isEqualToString:aString])) return;
dirty = YES;
[title release];
title = [aString copy];
}
- (NSString *)title {
return title;
}
@end
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我必须做很多事情
Run Code Online (Sandbox Code Playgroud)Article *article= [objectsArray getObjectAtIndex:x]; NSString *title=article.title; UILabel.text=title; [title release];
我知道当我拿到房产时我应该叫保留:
NSString *title=[article.title retain];
Run Code Online (Sandbox Code Playgroud)
也许我懒得去保留我得到的地方.或者如果我需要在整个应用程序中执行数十次.
我可以得到一份副本吗?
- (NSString *)title {
return [title copy];
}
Run Code Online (Sandbox Code Playgroud) iphone ×4
objective-c ×4
uitableview ×3
cocoa-touch ×1
ios ×1
mfmailcomposeviewcontroller ×1
properties ×1