我UIWebView在iOS7上遇到问题:
首先,我为web视图scrollview设置内容插入:
[webView.scrollView setContentInset:UIEdgeInsetsMake(40, 0, 0, 0)];
Run Code Online (Sandbox Code Playgroud)
然后,当Web视图加载空白页面时,Web视图底部有一个黑色矩形,其高度为40.
这是肯定的,因为内容插入,我只在iOS7上遇到了这个问题.我怎么解决这个问题?任何帮助将不胜感激!
在我的应用程序中,我正在访问并从多个线程更改可变数组.一开始它在我尝试访问一个对象时崩溃objectAtIndex,因为索引超出了界限(该索引处的对象已经从另一个线程中的数组中删除).我在互联网上搜索了如何解决这个问题,我决定尝试这个解决方案.我创建了一个带有NSMutableArray属性的类,请参阅以下代码:
@interface SynchronizedArray()
@property (retain, atomic) NSMutableArray *array;
@end
@implementation SynchronizedArray
- (id)init
{
self = [super init];
if (self)
{
_array = [[NSMutableArray alloc] init];
}
return self;
}
-(id)objectAtIndex:(NSUInteger)index
{
@synchronized(_array)
{
return [_array objectAtIndex:index];
}
}
-(void)removeObject:(id)object
{
@synchronized(_array)
{
[_array removeObject:object];
}
}
-(void)removeObjectAtIndex:(NSUInteger)index
{
@synchronized(_array)
{
[_array removeObjectAtIndex:index];
}
}
-(void)addObject:(id)object
{
@synchronized(_array)
{
[_array addObject:object];
}
}
- (NSUInteger)count
{
@synchronized(_array)
{
return [_array count];
}
}
-(void)removeAllObjects …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码获取加速度计数据(使用CoreMotion框架):
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
motionManager.accelerometerUpdateInterval = 1.0 / 60.0;
[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue]
withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"ACCELEROMETER DATA = %@",accelerometerData);
}];
Run Code Online (Sandbox Code Playgroud)
当应用程序处于前台模式时,我正在接收日志,但是当它进入后台时,我只在应用程序中的音乐正在播放时才会收到日志.我已将以下内容添加到app info plist文件中:
- Required background modes
- App registers for location updates
- App plays audio or streams audio/video using AirPlay
Run Code Online (Sandbox Code Playgroud)
问题是:当音乐没有播放时,如何在后台接收加速度计更新?
我尝试理解UITableView当表格可见时,当我处理大量行时要使用的最佳实践.
这是我的行为:
我有一个UITableView和一个线程试图将数据插入此表.我认为[UITableView reloadData]对于性能方面做一个糟糕的解决方案,我知道UIKit操作是在主线程上进行的,因此当数据源更新完成时我试图发送一个NSNotification进行UITableView更新操作(beginUpdate - insertRowAtIndex - endUpdate)在主线程上,但这种技术冻结了用户界面.我必须处理1000多行.
有人已经解决了这个问题吗?是否可以使用GDC异步和同步?如果有,怎么样?提前致谢.
multithreading objective-c uitableview grand-central-dispatch ios