小编Seg*_*gev的帖子

从UITableView单元格中的URL加载异步图像 - 滚动时图像更改为错误的图像

我写了两种方法来在我的UITableView单元格内异步加载图片.在这两种情况下,图像都会正常加载,但是当我滚动表格时,图像会改变几次,直到滚动结束并且图像将返回到右图像.我不知道为什么会这样.

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

- (void)viewDidLoad
{
    [super viewDidLoad];
    dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL: [NSURL URLWithString:
                                                       @"http://myurl.com/getMovies.php"]];
        [self performSelectorOnMainThread:@selector(fetchedData:)
                               withObject:data waitUntilDone:YES];
    });
}

-(void)fetchedData:(NSData *)data
{
    NSError* error;
    myJson = [NSJSONSerialization
              JSONObjectWithData:data
              options:kNilOptions
              error:&error];
    [_myTableView reloadData];
}    

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    // Return the number of rows in the section.
    // Usually the number of items in your array (the one that holds your …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uitableview ios

151
推荐指数
5
解决办法
13万
查看次数

如何使用iOS模拟器7\XCode 5测试iOS 7之前的UI(不升级iOS 7的应用程序)

在XCode 4.6.3上编译我的应用程序并在iOS 7上运行它的效果很好.

在XCode 5上编译我的应用程序并在iOS 7上运行它会导致我现在不想处理的大量UI问题.(iOS 7选择器,tabbars,tableviews等')

目标:

我希望能够使用XCode 5并在iOS 7模拟器上测试我的应用程序,但仍然使用iOS 6和更低的UI和感觉.

原因:

我不想将我的应用程序重新设计到iOS 7,但我确实希望确保它在iOS 7上使用XCode 5 iOS 7模拟器正常运行.

是否有一个快速切换XCode 5强制一切保持不变?

在做类似的东西使用的是iOS 6基地SDK中的XCode 5可接受的或有点过分哈克?

编辑:

使用iOS 6 SDK无济于事.您仍然会在应用程序上看到iOS 7外观,只是更多的错误.

cocoa-touch ios ios6 ios7 xcode5

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

使用StoryBoard在容器视图中加载UIViewController

我有一个UIViewControllerRootViewController和A UIViewControllerNewsViewController.我想在NewsViewController里面展示一个UIView(这UIView只是屏幕的一部分)RootViewController.我正在使用StoryBoard,我的应用程序需要支持iOS 5(因此我无法使用IB中的嵌入式segues和Containers)

RootViewController代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    NewsViewController *news = [[NewsViewController alloc]init];
    news.view.frame = self.newsSection.bounds;
    [self.newsSection addSubview:news.view];
    [self addChildViewController:news];
    // Do any additional setup after loading the view.
}
Run Code Online (Sandbox Code Playgroud)

我还将两个UIViewControllers与segue连接起来.UIView newsSection将保持空白.我究竟做错了什么?

编辑:

这对我有用,是正确的方法吗?

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    NewsViewController *news = [storyboard instantiateViewControllerWithIdentifier:@"NewsViewControllerID"];
    news.view.frame = self.newsSection.bounds;
    [self.newsSection addSubview:news.view];
    [self addChildViewController:news];
    [news didMoveToParentViewController:self];
}
Run Code Online (Sandbox Code Playgroud)

xcode cocoa-touch objective-c ios

26
推荐指数
2
解决办法
3万
查看次数

UIImagePickerController错误

我认为我在最新的iOS 7中发现了一个错误,它运行的应用程序将Base SDK设置为iOS 6.1(可能甚至更低版本,还没有测试过)

我的照片库中有这张图片:http://i.imgur.com/7KUIGLt.jpg

我通过以下方式呈现UIImagePickerController:

UIImagePickerController *vc = [[UIImagePickerController alloc] init];
vc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
vc.delegate = self;
vc.allowsEditing = YES;
[self presentViewController:vc animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

我将所选图像保存到我的桌面(我在模拟器上运行它,但这也适用于设备)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage];
    if (outputImage == nil) {
        outputImage = [info objectForKey:UIImagePickerControllerOriginalImage];
    }
    NSData *d = UIImagePNGRepresentation(outputImage);
    [d writeToFile:@"/Users/Admin/Desktop/test.png" atomically:YES];
    [self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

这是结果图像: 在此输入图像描述

注意右边的大黑条.是什么导致了这个?

要重现这一点,您需要:

  • IOS 7
  • 基本SDK设置为6.1的应用程序(可能甚至更低的SDK,我还没有尝试过)
  • iPhone 5/5c/5s
  • 仅适用于使用iPhone 5/5c/5s相机拍摄的照片(您可以使用我上面链接的原始图像进行测试)

注意:为了清楚起见,黑条是实际图像的一部分.你看到的图像没有UIImageView的截图,但是实际的图像保存到磁盘并在这里上传...

cocoa-touch objective-c uiimagepickercontroller ios ios7

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

如何将数据从ViewController传递到Container View?

我在XCode中设置了一个故事板,并有一个MainViewController.在MainViewController中,我添加了一个ContainerView,它自然地与另一个VIewController创建了一个Segue.

在我的MainViewController.m文件中,我已经设置了数据,并希望将这些数据链接到ContainerView中的标签,但是我想我可以单击文件所有者并执行此操作但当然我不能,因为它们现在是2个不同的viewcontrollers .

有人可以帮助我,因为我正在努力解决这个问题.必须有一个简单的方法,但我不能破解它!

谢谢

objective-c uiviewcontroller ios

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

CFBundleVersion必须是一个以句点分隔的列表,最多包含三个非负整数(警告ITMS-9000)

我在尝试提交我的应用时收到此警告:

在此输入图像描述

警告ITMS-9000:"此捆绑包无效.info.plist文件中密钥CFBundleVersion [3.3.9.2014.08.20]的值必须是一个以句点分隔的列表,最多包含三个非负整数."

这是我在使用该版本控制格式进行大量提交后第一次看到这个.

关于CFBundleVersion有什么变化吗?

我猜这三个并不总是在那里?还是苹果刚开始警告我们呢?

来自Apple文档:

CFBundleVersion

CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.

编辑:

显然CFBundleVersion已经改变,你可以在这里看到.令人遗憾的是,我需要搜索WayBackMachine这样的东西,而Apple的"文档修订历史"却没有说明这一点.

xcode itunesconnect build ios

21
推荐指数
4
解决办法
1万
查看次数

对UIView的扭曲\弯曲效果?

我试图获得与图片中描述的效果类似的效果.左边的白色区域是不是原来的照片,它推动像素的路程.我尝试过使用Core Image(它为此提供了一些近距离效果),但它对我的需求来说太慢了.我需要效果很快,所以我可以让它对触摸做出反应.

在iOS sdk中是否存在一个与UIVIew类似的关闭效果\动画?(我找不到任何东西)如果没有,有人可以提供如何使用OpenGL攻击它吗?(代码示例非常受欢迎)

(这个效果将在我正在编写的开源类中占据重要位置,因此如果有更简单的解决方案可用,我宁愿不使用GPUImage等第三方类(我将此类作为依赖项免费) )

在此输入图像描述在此输入图像描述在此输入图像描述

opengl-es objective-c ios warp

20
推荐指数
2
解决办法
6802
查看次数

Git一直提到我的旧用户名,即使我找不到它的踪迹

remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME

我有2个GitHub用户.一个供个人使用,一个供工作使用.对于这个例子,MYUSERNAME将是我的个人用户,而OLD-USER-NAME将是我的个人用户.我刚刚停止使用OLD-USER-NAME但是在尝试推送到github https时我遇到了上述错误.我通过直接推送到https://MYUSERNAME@github.com解决了这个问题......

我试图找出为什么我的OLD-USER-NAME被提及以及git如何"了解它".

我试过的事情:

  1. ssh-add -l - > The agent has no identities.
  2. 我找不到任何.ssh文件夹.
  3. 我的两个github帐户上都没有任何ssh密钥
  4. git config --global --editgit config --edit显示MYUSERNAME
  5. git remote --verbose 这给了我: origin https://github.com/MYUSERNAME/project.git (fetch) origin https://github.com/MYUSERNAME/project.git (push)
  6. OLD-USER-NAME GitHub - >设置 - >安全历史我可以看到我的IP旁边有一个绿点.也许它与它有关?

git github

13
推荐指数
3
解决办法
3379
查看次数

如何将所有文件编译为一个exe?

我在C#中编写了一个项目,它使用了大量的图像,Milk模型和openGL,我想将所有内容打包在一个exe中,这样我就可以将它上传到我的网站了.现在我得到了一个依赖于jpgs等其他文件的exe.我尝试过使用ILMerge但无法使用它.有更简单的解决方案吗?谢谢.

c# ilmerge

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

仅当Watch app\extension从手表中至少打开一次时,动态通知界面才有效

目前Apple Watch中有3种通知:

  • Short - 你根本无法自定义这些.
  • Static - 您可以在故事板上自定义这些.
  • Dynamic - 可以使用Notification有效负载上没有的新数据自定义UI元素.

这是问题(项目正在使用Watch OS 1),如果应用程序从未打开Apple WatchStatic通知将显示而不是Dynamic一个,日志将显示错误

花太长时间显示自定义通知.回归静止

我已经删除了通知代码ViewController,除了这个:

-(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler 
    {
        completionHandler(WKUserNotificationInterfaceTypeCustom); 
    }
Run Code Online (Sandbox Code Playgroud)

我仍然得到这个错误.

我必须澄清,应用程序从手表运行至少一次后,每件事情都按预期工作,并且Dynamic通知界面显示正常.

我仔细检查过的事情:

  • 手表电池高于70%
  • 这是我的唯一代码 didReceiveRemoteNotification
  • WKUserNotificationInterfaceController 子类连接到我的storyboard文件中的Dynamic interface Controller

我已经在Apple文档中搜索了一些可以验证此行为但无法找到相关内容的内容.起初我认为我的应用程序没有正确配置某些东西但后来发现这在我尝试的所有Apple手表应用程序中都很常见.

重现步骤:

  1. 下载从未在您的设备上安装且使用动态通知的Apple Watch应用程序.(我在Telegram和Outlook上测试了这个例子)
  2. 请勿通过手机从手表中打开应用程序.
  3. 向您发送推送通知.
  4. 通知将到达您的手表,Static notification并且设备日志将显示"太长时间以显示自定义通知.回退到静态"错误.
  5. 从手表中打开应用程序并发送另一个通知.这将到达Dynamic.

Watch应用程序打开后至少一次以上很难重现.从手机删除应用程序并观看并重新安装所有内容仍然会显示Dynamic通知.

有人经历过吗?

有没有办法显示动态通知而无需在手表上至少打开一次应用程序?

objective-c push-notification ios apple-watch watchkit

10
推荐指数
0
解决办法
637
查看次数