小编Onk*_*arK的帖子

使用自动布局时的UITableView内容大小

我想计算我的内容大小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)

感谢帮助.

uitableview ios autolayout

27
推荐指数
6
解决办法
2万
查看次数

UIImagePickerController给我一个黑色预览

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相机作为源类型时,我有预览这个问题.

iphone uiimagepickercontroller ios

6
推荐指数
1
解决办法
1581
查看次数

应用程序始终在Landscape Left中启动

在我的应用程序中,支持的方向是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方向支持来解决此问题.如果有人有解决方案,请分享.

感谢帮助.

iphone uiinterfaceorientation ios ios7

3
推荐指数
1
解决办法
1304
查看次数

将包含AM/PM的NSString转换为NSDate

也许这是一个老问题,我在这个网站上搜索并发现了一些类似的问题,但我仍然无法解决我的问题.我有一个名为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
正如您所看到的,日期是正确的,但时间是错误的.请帮我修理一下.

objective-c ios

0
推荐指数
1
解决办法
2462
查看次数

NSData 到 NSMutableData 的转换

有什么方法可以将NSData对象转换为 NSMutableData 对象吗?基本上我正在使用NSJSONSerialization它基本上接受我收到的一些 JSON 数据并将其转换为NSData对象实例。无论如何,然后将其转换为NSMutableData对象实例?我需要这样做,因为稍后,我将生成一些线程,并且在我提供的代码块中,我想更改 Data 对象的值。如果它NSData,我不能这样做,但如果它,我可以NSMutableData

objective-c nsdata nsmutabledata ios

-3
推荐指数
1
解决办法
8232
查看次数