我想计算我的内容大小UITableView.我正在使用高度自动布局UITableViewAutomaticDimension.
尝试[UITableView contentsize]重新加载tableview后,在这种情况下高度得到基于计算estimatedRowHeight.
self.tableView.estimatedRowHeight = 50;
self.tableView.rowHeight = UITableViewAutomaticDimension;
Run Code Online (Sandbox Code Playgroud)
代表 -
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
Run Code Online (Sandbox Code Playgroud)
尝试获取内容大小并将其指定为高度约束.
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Run Code Online (Sandbox Code Playgroud)
有什么建议?提前致谢.
编辑:
最后我通过一些调整解决了我的问题.在重新加载表格数据之前,我将tableview高度更改为max(在我的情况下300是max),因此tableview有空间来调整所有单元格的大小.
self.tableHeightConstraint.constant = 300;
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Run Code Online (Sandbox Code Playgroud)
感谢帮助.
我UIImagePickerController用来拍照.我正在使用以下代码:
UIImagePickerController* UIPicker = [[UIImagePickerController alloc] init];
UIPicker.delegate = self;
UIPicker.sourceType= UIImagePickerControllerSourceTypeCamera;
[UIPicker setCameraCaptureMode:UIImagePickerControllerCameraCaptureModePhoto];
UIPicker.allowsEditing=NO;
[self presentModalViewController:UIPicker animated:YES];
[UIPicker release];
Run Code Online (Sandbox Code Playgroud)
问题是随机我将预览作为黑屏,如果它发生一次,它永远不会恢复,直到我们杀死并重新启动应用程序.
我正在获得正确的图像,UIImagePickerControllerDelegate但是当UIImagePickerController相机作为源类型时,我有预览这个问题.
在我的应用程序中,支持的方向是Landscape Right和Landscape Left.它的单屏应用程序.在ViewController中,我添加了以下代码来限制方向.
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
-(BOOL)shouldAutorotate
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是每当应用程序在Landscape Left中启动时.如果设备位置右侧,则应用视图旋转180度,然后应用程序开始在右侧右侧工作.
如果设备位置是横向左侧,则没有问题.
注意:我正在测试iPod 5上的应用程序.
编辑:
经过一些观察,如果你只支持风景(即风景右侧和风景左),那么你将面临这个问题.应用程序将始终以plist中首先列出的方向打开(在我的情况下是Landscape Left).
我通过删除Landscape Left方向支持来解决此问题.如果有人有解决方案,请分享.
感谢帮助.
也许这是一个老问题,我在这个网站上搜索并发现了一些类似的问题,但我仍然无法解决我的问题.我有一个名为gameDateTimeStr的NSString:"11/12/2013-10:00 PM",我想把它转换为NSDate.我使用了以下代码:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy-HH:mm a"];
[formatter setLocale:[NSLocale currentLocale]];
NSDate *gameDateTime = [formatter dateFromString:gameDateTimeStr];
Run Code Online (Sandbox Code Playgroud)
但是,当打印在consolte上时,其描述为:2013-11-12 05:00:00 +0000
正如您所看到的,日期是正确的,但时间是错误的.请帮我修理一下.
有什么方法可以将NSData对象转换为 NSMutableData 对象吗?基本上我正在使用NSJSONSerialization它基本上接受我收到的一些 JSON 数据并将其转换为NSData对象实例。无论如何,然后将其转换为NSMutableData对象实例?我需要这样做,因为稍后,我将生成一些线程,并且在我提供的代码块中,我想更改 Data 对象的值。如果它NSData,我不能这样做,但如果它,我可以NSMutableData。