使用Core Graphics在Objective-C(IOS)中绘制angular度/angular度/“圆锥形”/“弧光”渐变

我试图绘制一个“锥形”/“弧光”渐变(我不知道什么是正确的术语) (Photoshop称之为“angular度”渐变 – 友好的邻居stackoverflow编辑器)使用Objective-C (IOS),非常像以下线程中显示的图像。 经过几天的search和searchnetworking无济于事,我决定在这里寻求帮助。 关于我在做什么的一点背景。 我的目标是创build一个自定义的UIView,这是一个圆形的进度条,基本上是一个戒指,有点类似于在TweetBot iPhone应用程序中看到的活动指示器(显示当你拖动刷新,这可以在这里看到,在17左右-18秒,在iPhone屏幕上方)。 我想要进度指示器(圆环的填充)是一个简单的两个颜色渐变,可以通过编程设置,视图可以resize。 用“跟随”圆弧的渐变填充圆环形状是我卡住的地方。 我从谷歌search得到的答案,阅读苹果的梯度上的核心graphics文档和searchSO是要么径向渐变或线性/轴向渐变,这不是我想要实现的。 上面链接的线程build议使用预先制作的图像,但这不是一个选项,因为渐变的颜色应该是可设置的,视图应该可以resize,进度条的填充并不总是100%显着将成为如上图所示的渐变状态)。 我想出的唯一解决scheme是“手动”绘制渐变,所以如果不使用CGGradientRef ,请在圆形path中剪裁单个纯色填充的渐变的小片。 我不知道当这个栏被animation时它的performance如何,应该不是那么糟糕,但这可能是一个问题。 所以我的第一个问题: Objective-C(IOS)中绘制锥形/弧形渐变的方法比我提出的解决scheme更容易/不同吗? 第二个问题: 如果我必须在我的视图中使用我提出的解决scheme手动绘制渐变,那么我如何确定或计算渐变的每个颜色“切片”的值(HEX或RGBA)试图画,如下图所示。 (不能链接图像) 渐变片图

这个类不是关键值编码兼容(与故事板)

我刚开始使用Xamarin开发iOS,似乎遇到了障碍。 我正在尝试创build一个自定义表格单元格来显示一些数据。 因此,从各种在线资源提示(例如,请参阅此处 ),我创build了一个.xib文件,删除了Xamarin自动创build的视图,并将其replace为UITableViewCell 。 我给我的单元格添加了一些标签,我使用RegisterNibForCellReuse注册了单元格,并设置了从UITableViewSourceinheritance的类,以在适当的时候返回我的自定义单元格。 到现在为止还挺好。 当我在我的自定义单元格中的任何控件,并尝试创build一个sockets时,问题开始。 在XCode创build出口,一切看起来不错。 回到Xamarin,我可以看到它自动为它创build一个属性。 [Register ("MyCustomCell")] partial class MyCustomCell { [Outlet] MonoTouch.UIKit.UILabel MyLabel { get; set; } void ReleaseDesignerOutlets () { if (MyLabel != null) { MyLabel.Dispose (); MyLabel = null; } } } 但是,当我尝试运行代码时,我得到一个运行时错误,说This class in not key value coding-compliant for key the key MyOutlet 任何想法可能会发生什么? Xamarin文档在这里提出了一个可能的原因,但我不确定它是相关的。 在Xamarin创build的任何devise器文件中,我都没有看到类似的东西,它们都很好。 […]

UIKitstring绘制方法中的错误?

为了复制我在应用程序中发生的崩溃,我必须创build一个稍微夸张的重复频率的示例,这个示例可能不太实用,但是可以准确地说明我的应用中发生了什么。 在使用NSOperations在后台线程上绘制NSString时,在WebCore::FontFallbackList::~FontFallBackList().崩溃之前,有时会在堆栈跟踪上进行最后一次调用WebCore::FontFallbackList::~FontFallBackList(). – (void)viewDidLoad { queue = [[NSOperationQueue alloc] init]; [NSTimer scheduledTimerWithTimeInterval:0.0001 target:self selector:@selector(timerDidFire:) userInfo:nil repeats:YES]; } -(void)timerDidFire:(NSTimer*)timer { NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{ CGRect rect = CGRectMake(0, 0, 50, 50); UIGraphicsBeginImageContextWithOptions(CGSizeMake(rect.size.width, rect.size.height), YES, 0.0); NSString *string = @"Sd"; [string drawInRect:rect withFont:[UIFont boldSystemFontOfSize:12] lineBreakMode:UILineBreakModeTailTruncation]; UIGraphicsEndImageContext(); }]; [queue addOperation:op]; } 用上面的代码可以轻松地复制这个崩溃。 任何人都对这次事故的性质有所了解,为什么会发生? (这个问题的解决scheme是设置[queue setMaxConcurrentOperations:1]; )

无效的供应configuration文件 – 缺less代码签名证书

我的应用程序已经完成,我已经提交了一个之前,但每次我试图通过应用程序加载器失败,给我以下错误: ERROR ITMS -9000“Provisioning Profile无效Provisioningconfiguration文件无效[Missing Code-Signing Certificate] 有没有人有任何帮助。 我已经连续工作了12个小时,这是非常令人沮丧的,任何一次潜水都会有所帮助。

selectUICollectionView iOS中的所有项目,甚至是不可见的单元格

我正在创build一个应用程序,在工具栏上有一个button,用于select集合视图中的所有项目。 但是我面对的问题是,当我点击button时,只select屏幕上可见的项目。 这是由于CELL REUSEfunction。 有什么办法可以select所有的单元格,即使是那些目前不可见的单元格? 谢谢J

我怎样才能inheritanceUITableView?

我想创build一个UITableView的子类,因为我想在我的应用程序中创build一个可重用的表视图组件。 这个想法是不是使用委托说cellForRowAtIndexPath我希望表视图本身来获得该调用。 我不认为我想要一个UITableViewController作为这个UITableView我想要build立必须住在各种UIViewControllers(和这些UIViewController可能有自己的UITableViews)。 我将我的UITableView分类为: @interface ShareUITableView : UITableView 但没有一个方法被调用。 我的ShareUITableView是通过将自定义类设置为ShareUITableView通过NIB创build的。 我在代码中validation了一个ShareUITableView被实例化。 我的UITableView不委托给它的视图控制器,所以这不是问题。 有任何想法吗?

ARC语义问题:类没有可见的@interface声明select器

很基本的东西,但我无法解决问题的地方。 在我的项目中,我有一个名为“TheFeedStore”的类,有以下两种方法: – (BOOL)hasItemBeenRead:(RSSItem *)item { ………… } – (void)markItemAsRead:(RSSItem *)item { ……… } 我正在使用下面的类方法,所以其他类可以使用它来访问这些方法: + (TheFeedStore *) sharedStore { static TheFeedStore *feedStore = nil; if (!feedStore) { feedStore = [[TheFeedStore alloc] init]; } return feedStore; } 在我的另一个class级,我可以通过写作轻松访问上述方法 if ([[TheFeedStore sharedStore] hasItemBeenRead:item]) 要么 [[TheFeedStore sharedStore] markItemAsRead:entry]; 但在另一个类,如果我尝试以类似的方式访问这些方法,我得到的错误“没有可见的@界面'TheFeedStore'声明select器'hasItemBeenRead:” 1)我已经从类中导入了TheFeedStore.h文件,我正在访问TheFeedStore类的这些方法。 2)我查了10次,没有错别字。 3)我正在访问的方法也在TheFeedStore.h头文件中声明 更新:只需要检查,我已经在TheFeedStore.h中声明了另一个testing方法,相同的结果,一个类可以访问新创build的方法,而其余的三个类不能。 更新:我试图在TheFeedStore.h创build更多的方法来解决这个问题。 新方法也不能从其他类访问。 但是,如果这些新方法的返回types是(RSSChannel *),这是我的项目中的另一个模型类,则它们变得可访问。 […]

可接受的方式释放财产

假设有一个具有以下接口的类: #import <Foundation/Foundation.h> @interface MyClass : NSObject { } @property (nonatomic, retain) NSDate* myDate; -(void)foo; @end 并执行以下操作: #import "MyClass.h" @implementation MyClass @synthesize myDate = _myDate; – (void)dealloc { [_myDate release]; [super dealloc]; } -(void)foo { NSDate* temp = [[NSDate alloc] init]; self.myDate = temp; [temp release]; } @end 1)在函数foo将释放像这样确保对象的保留计数被正确地维护(即没有内存泄漏并且没有不必要的释放被执行)。 NSDate* temp = [[NSDate alloc] init]; […]

NSURLErrorDomain错误代码1002说明

我是iOS开发新手。 我想加载一个JSON ,这是我的function: func loadmyJSON (urlPath: String) { let url: NSURL = NSURL(string: urlPath)! let session = NSURLSession.sharedSession() let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in println("Task completed") if(error != nil) { // If there is an error in the web request, print it to the console println("error not nil::::::") println(error.localizedDescription) } […]

在Storyboard中使用UINavigationController的popup窗口大小

我创build了一个iPad应用程序,其中包含embedded在导航控制器中的popup窗口视图。 我喜欢尽可能多地使用Storyboard,并且在Xcode中设置"Use Explicit Size"使我在iPad上popup正确的大小。 但是,在Xcode中查看故事板时,它不会调整UINavigationController视图及其embedded的UIViewControllers大小。 这是非常烦人的,因为我在Xcode中的视图的大小不符合popover的实际大小。 所以,我的问题是没有设置popover的正确大小(我也知道我可以用代码做到这一点),但我希望故事板中的视图显示我的意见的实际大小。 什么是使用故事板创buildembedded在导航控制器中的viewControllers的正确方法?