小编lef*_*pin的帖子

UIRefreshControl和UITableView的backgroundVIew

我有一个UITableViewController,我在其上设置了backgroundView.该控制器安装了UIRefreshControl.问题是,当我设置背景视图时,刷新控件是不可见的.如果我删除背景视图,我可以看到刷新控件.

难道我做错了什么?

ios uirefreshcontrol

29
推荐指数
1
解决办法
7415
查看次数

需要UIWebView中的内容才能快速显示

我的应用程序的一部分缓存网页以供离线查看.为此,我保存从站点获取的HTML并重写img urls以指向本地存储上的文件.当我将html加载到UIWebView中时,它会按预期加载图像,一切都很好.我也是以这种方式缓存样式表.

问题是,当我将手机置于飞行模式时,加载此缓存的html会导致UIWebView显示空白屏幕并在显示页面之前暂停一段时间.我发现它是由Web视图试图获取的原始HTML文档引用的非缓存URL引起的.这些其他URL包括缓存样式表中的图像,iframe中的内容以及用于打开连接以获取其他资源的javascript.当UIWebView尝试获取这些资源时会发生暂停,并且只有在所有这些其他提取超时后才会显示该网页.

我的问题是,如何让UIWebView显示我立即缓存的内容?这是我的想法:

  • 写更多代码来缓存这些其他引用.这可能需要更多代码来捕获所有边缘情况等,尤其是必须解析Javascript以查看在加载页面后它加载的内容
  • 强制UIWebView立即超时,所以没有暂停.我还没弄明白怎么做.
  • 以某种方式获取已经加载的内容,即使外部引用尚未完成提取
  • 剥离所有脚本的代码,链接标签和iframe以"擦除"外部引用.我试过这个,但对于某些网站,结果页面严重搞砸了

有人能帮我一下吗?我一直在努力解决这个问题,而且我的想法已经不多了.

iphone cocoa-touch timeout uiwebview

11
推荐指数
1
解决办法
2万
查看次数

如何在WKInterfaceLabel中支持动态类型更改?

WKInterfaceLabel在运行watchOS 5的Apple Watch应用程序中有一个.我将其属性字符串设置为包含应用于子字符串的粗体字体属性的字符串.运行应用程序时,粗体显示正确.但是,如果您在iPhone上的Watch应用程序中更改动态类型的大小,则手表上的文本大小会更改,但粗体消失.

我希望watchOS只是设置WKInterfaceLabel消除粗体字体的字体.保留其他属性,例如前景色.

我注意到NSNotification.Name.didChangeNotificationWatchKit不支持,所以我不能拦截这个大小的变化.

如何处理WatchKit中的动态类型更改?有没有办法在用户更改文本大小时保留属性字符串中的字体属性?

nsattributedstring swift apple-watch watchkit wkinterfacelabel

11
推荐指数
0
解决办法
144
查看次数

用于在iPhone上缓存网页的库?

是否有可用于在本地缓存网页以便在iPhone上进行离线查看的库或框架?如果没有,这样做的最佳策略是什么?

目前我正在考虑的是下载HTML,获取其URL,缓存这些URL,然后重写HTML以指向本地文件.这是最好的方法吗?

谢谢!

iphone webpage caching offline local

8
推荐指数
2
解决办法
5368
查看次数

主队列上的dispatch_sync与executeFetchRequest之间的死锁:错误:

我正在dispatch_sync()主队列上阻塞.在这个区块中,executeFetchRequest:error:最终会进行一次调用.有时,这会导致死锁.

这是Thread 1,它显示在主线程上调用的块然后调用 executeFetchRequest:error:

#0  0x981f3876 in __psynch_mutexwait ()
#1  0x97a016af in pthread_mutex_lock ()
#2  0x0135be32 in -[_PFLock lock] ()
#3  0x0135be0a in -[NSPersistentStoreCoordinator lock] ()
#4  0x01371d1c in -[NSManagedObjectContext(_NSInternalAdditions) lockObjectStore] ()
#5  0x013702c0 in -[NSManagedObjectContext executeFetchRequest:error:] ()
#6  0x0000a701 in -[NSManagedObjectContext(Convenience) fetchObjectsForEntityName:onlyIDs:withPredicate:] at /Users/mike/Dropbox/src/Tracky-iPhone/Tracky/Tracky/NSManagedObjectContext(Convenience).m:50
#7  0x00065270 in +[NSManagedObject(ContextAdditions) contextForID:managedObjectContext:] at /Users/mike/Dropbox/src/Tracky-iPhone/Tracky/Tracky/NSManagedObject+ContextAdditions.m:40
#8  0x0006597e in __85+[NSManagedObject(ContextAdditions) createContextIfNeededForID:managedObjectContext:]_block_invoke_0 at /Users/mike/Dropbox/src/Tracky-iPhone/Tracky/Tracky/NSManagedObject+ContextAdditions.m:55
#9  0x00065aad in __85+[NSManagedObject(ContextAdditions) createContextIfNeededForID:managedObjectContext:]_block_invoke_050 at /Users/mike/Dropbox/src/Tracky-iPhone/Tracky/Tracky/NSManagedObject+ContextAdditions.m:64
#10 0x023cf8d9 in _dispatch_barrier_sync_f_slow_invoke ()
#11 0x023d0509 in _dispatch_main_queue_callback_4CF () …
Run Code Online (Sandbox Code Playgroud)

iphone deadlock core-data objective-c ios

8
推荐指数
1
解决办法
4303
查看次数

两个UIViews之间的自定义转换

我有两个视图"A"和"B".在窗口中间浮动(它不是全屏).B,将取代A的视图是全屏.我想编写一个自定义过渡,翻转A以显示背面的B,但同时缩放翻转矩形,以便在翻转完成时,B为全屏.

toView:持续时间:选择:我已经使用可用transitionFromView翻转过渡试图完成,但我只能把它翻转而不是以A开头的框架翻转,并与B的帧结束了整个屏幕.

我知道我可以对视图的图层进行类似3D的转换,但我不确定应该使用哪组动画API来完成此操作.有一两件事我想是在transitionWithView的动画块修改视图的图层属性:持续时间:选择:动画:完成:但没有工作,因为它似乎只兑现视图属性修改.

有人能指出我正确的方向吗?我非常感激.

更新:到目前为止,这是我的代码.您可以在此处观看视频:http://www.youtube.com/watch?v = -xNMD2fGRwg

CGRect frame = [[UIApplication easybookDelegate] rootViewController].view.bounds ;
float statusHeight = [UIApplication sharedApplication].statusBarFrame.size.height ;
frame.origin.y = statusHeight ;
frame.size.height -= statusHeight ;
self.view.frame = frame ; // self.view is view "B"

// Put the snapshot as thet topmost view of our view
UIImageView *imageView = [[UIImageView alloc] initWithImage:image] ; // image is a snapshot of view "A"
imageView.frame = self.view.bounds ;
[self.view addSubview:imageView] ;
[self.view bringSubviewToFront:imageView] ;

// Pre-transform our view …
Run Code Online (Sandbox Code Playgroud)

iphone core-animation uiview

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

使用Google Reader的API添加备注

有谁知道如何使用Google Reader的API添加备注?在查看他们的一些代码时,我注意到它可能与"/ reader/api/0/item/edit"URL有关,但我无法在任何地方找到此文档.

api google-reader

5
推荐指数
2
解决办法
1173
查看次数

链接器找不到CTFontCreateWithNameAndOptions

我试图CTFontCreateWithNameAndOptions()从CoreText 使用,链接器说"未找到符号",专门用于_CTFontCreateWithNameAndOptions.我添加了CoreText.framework并导入<CoreText/CoreText.h>.它编译得很好,但链接器失败了.

这是CTFont.h中的声明:

CTFontRef CTFontCreateWithNameAndOptions( CFStringRef name, CGFloat size, const CGAffineTransform *matrix, CTFontOptions options ) CT_AVAILABLE_STARTING( __MAC_10_6, __IPHONE_3_2);

这是实际的电话:

CTFontRef font = CTFontCreateWithNameAndOptions( (CFStringRef)@"HelveticaNeue-Bold" , 14.0f , NULL , kCTFontOptionsDefault ) ;

有人有什么想法吗?

我的iOS应用程序链接到4.2框架.

iphone xcode linker core-text ios

5
推荐指数
1
解决办法
1539
查看次数

UITableView带半透明部分标题和不同颜色的部分背景

我正在尝试使用如下分层元素设置UITableView:

图

具体而言,该表具有多个部分,每个部分具有不同的背景颜色.为此,我通常只修改每个单元格.困难的部分是我希望部分标题是半透明的.当我这样做时,标题下的背景是表格视图的背景颜色,当标题下没有单元格时.我当然可以设置表格视图的背景颜色,但每个标题下的颜色都是相同的.

我如何创建如图中所示的表格视图?

更新:为了使它绝对清楚,我知道如何制作自定义标题视图,并知道如何使用alpha属性使其半透明.问题在于什么是观点.我需要下面的部分是背景颜色,而不是表格视图的背景颜色.

cocoa-touch uitableview ios

5
推荐指数
1
解决办法
1546
查看次数

xcodebuild不输出警告和错误?

我正在运行xcodebuild,但命令行没有输出源代码警告和错误.它只是说CompileC失败了.如何让xcodebuild输出源代码级警告和错误?

iphone xcode ios

5
推荐指数
1
解决办法
3534
查看次数

在SKProduct中没有localizedTitle

我正在实施一个应用内商店,并成功从应用商店获取SKProducts.SKProducts中的价格信息和描述都很好,但我所有的本地化标题都是零.在iTunes Connect中,设置了参考名称,并添加了英语并设置了显示名称和描述.知道为什么localizedTitles会以nil的形式回归吗?

itunesconnect app-store ios

5
推荐指数
1
解决办法
1968
查看次数

Animating CAEmitterLayer's emitterPosition

I am trying to animate a CAEmitterLayer's emitterPosition like this:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"emitterPosition.x"] ;
animation.toValue = (id) toValue ;
animation.removedOnCompletion = NO ;
animation.duration = self.translationDuration ;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut] ;
animation.completion = ^(BOOL finished)
    {
    [self animateToOtherSide] ;
    } ;
[_emitterLayer addAnimation:animation forKey:@"emitterPosition"] ;
CGPoint newEmitterPosition = CGPointMake(toValue.floatValue, self.bounds.size.height/2.0) ;
_emitterLayer.emitterPosition = newEmitterPosition ;
Run Code Online (Sandbox Code Playgroud)

Note that animation.completion is declared in a category that just calls the corresponding CAAnimation delegate method.

The problem is that this …

cabasicanimation ios caemitterlayer

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