小编Kun*_*ani的帖子

为什么必须在主线程上执行UIKit操作?

我试图理解为什么不能使用多个线程执行UI操作.这也是OpenGL或cocos2d等其他框架的要求吗?

其他语言如C#和javascript怎么样?我试过在谷歌看,但人们提到了一些我不明白的POSIX线程.

iphone multithreading posix uikit ios

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

dismissModalViewController隐藏状态栏后面的父视图

我这里有一个非常奇怪的问题.我正在使用一个现有的模态视图控制器在ViewController上显示我的MFMailComposer ViewController,它放在导航栏中.

[self presentModalViewController:emailviewController animated:YES];

隐藏,我用...

-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{

    [self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但当我解散我的MailComposer时,原始视图控制器隐藏在状态栏后面.

我试图使用setFrame方法将视图偏移量修改为10,但它没有用.(这在模态视图控制器出现和解除之前和之后都很累)

我试过暂时隐藏状态栏但没有工作.

我已经尝试过self.navigationcontroller presentmodalviewcontrolle但是这个也没有用...

任何想法或建议将受到高度赞赏

在dismissmodalviewcontroller之后调用

编辑:大多数人给我一个建议手动修改偏移量.那不行.因为如果我在原始viewcontroller方法的viewDidLoad/viewWillapper中执行此操作,那么它会在当前模态视图控制器之前移动我的视图,而在我加载模态视图控制器之后它变得正常.

  • (void)viewDidAppear:(BOOL)animated {CGRect frame = self.navigationController.view.frame; frame.origin.y = 20; self.navigationController.view.frame = frame; }

改变偏移会导致这种情况

iphone xcode ipad ios mfmailcomposeviewcontroller

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

崩溃日志中我的应用名称旁边的"放弃"是什么意思?

我的应用程序崩溃了几次,没有任何错误或堆栈跟踪在我的控制台上.那么剩下的唯一方法就是去查看Apple的崩溃记者.我发现我的应用名称旁边有"抛弃",这反过来暗示iOS杀了我的应用程序,但我怎么弄清楚它为什么会发生?为什么iOS会杀死我的应用?最初,我认为这是一个内存溢出问题,然后,使用Instruments,我发现我的应用程序几乎没有4-5 MB的内存,所以我放弃了这些问题.Apple的文档没有提及太多.任何帮助或建议将受到高度赞赏.

崩溃报告

memory iphone xcode ipad ios

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

如何交换`NSMutableDictionary`键和值?

我有一个NSMutableDictionary,我想交换值和键.即,交换后的值变为键,其对应的键变为值所有键和值都是唯一的.寻找一个适当的解决方案,因为尺寸非常大.此外,键和值是NSString对象

iphone nsmutabledictionary ios

9
推荐指数
2
解决办法
3006
查看次数

CPP | .h文件(C++)

我只是想知道.cpp和.h文件之间的区别是什么?我将使用头文件(.h)以及我将使用cpp文件的内容是什么?

c++ header-files

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

分配工具中的"匿名VM"是什么意思?

我的应用程序中经常出现内存警告,但我不知道为什么.以下是分配工具的快照.

仪器

我知道我们对分配给我们的虚拟内存没有任何控制权,但我试图了解这个数字26.50 MB对开发人员意味着什么.

 1. What does a high VM means ? Does it lead to a jetsam ? Is that cause of any other concern ?
 2. Is this value dependent on device ?
 3. Does a low vm means that your app is memory efficient 
 4. Does a high VM leads to memory warnings in your app ?
 5. What cause this value to change ? 
 6. What steps should a developer take when they see a high vm …

ios xcode-instruments

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

舍入集合视图的浮点值时出错

我想在我的设备上摆脱一个像素问题.我正在设计一个如下所示的日历

在此输入图像描述

我正在为此目的使用UICollectionViewCell

   - (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
   return UIEdgeInsetsMake(0,0,0,0);  // top, left, bottom, right
}

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout *)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat collectionViewWidth = (CGRectGetWidth(collectionView.frame) / 7);
    CGFloat collectionViewHeight = 48;
    return CGSizeMake(collectionViewWidth, collectionViewHeight);
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我增加宽度甚至0.0000001点,那么每行绘制的单元格数量是6而不是7.我已尝试增加UIEdgeInset(0.00001),但这是同样的问题.流布局的属性已正确设置.

 layout.minimumInteritemSpacing = 0.0f;
 layout.minimumLineSpacing = 0.0f;
Run Code Online (Sandbox Code Playgroud)

如何在不留空隙的情况下使单元尺寸保持一致?电池的实际宽度为53.571428571428569(375/7).如果我将值四舍五入到53.58,那么我得到以下视图 在此输入图像描述

iphone rounding-error objective-c ios uicollectionview

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

C++中的new运算符与java中的new运算符之间的区别

据我所知,new操作员做了以下事情:(如果我错了,请纠正我.)

  1. 分配内存,然后返回分配的内存的第一个块的引用.(很明显,内存是从堆中分配的.)
  2. 初始化对象(调用构造函数.)

此外,运算符new[]以类似的方式工作,除了它对数组中的每个元素执行此操作.

任何人都可以告诉我这两个运算符在C++和Java中有何不同:

  1. 就他们的生命周期而言.
  2. 如果他们无法分配内存怎么办?

c++ java malloc pointers new-operator

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

警告 MSB8004:输出目录不以斜杠结尾。

我在我的 VC++ 项目中收到警告,因为

1>...Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(368,5):警告 MSB8004:输出目录不以斜杠结尾。此构建实例将添加斜杠,因为它是允许正确评估输出目录所必需的。

我确实在我的配置属性中使用尾部斜杠正确设置了 OutputDirectory 值。如何调试产生问题的路径?

.net msbuild visual-studio visual-c++

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

NSURLCache不能与UIWebVIew脱机工作

我正在尝试使用NSURLCache中的数据离线加载UIWebView。

-(BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //设置缓存
    int cacheSizeMemory = 4 * 1024 * 1024; // 4MB
    int cacheSizeDisk = 32 * 1024 * 1024; // 32MB

    NSURLCache * urlCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@“ nsurlcache”]];
    [NSURLCache setSharedURLCache:urlCache];
}

-(无效)loadWebView {
    request = [NSURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:1000];
    [self.webView loadRequest:request];
}

当我尝试离线加载UIWebView时,它将调用didFailWithError而不是connectionDidFinishLoading。但是,我的Cache目录包含脱机数据和资源,例如CSS,JS文件,但UIWebView无法访问它。

我已经通过重写以下方法来确认这一点:

-(NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request {
    NSCachedURLResponse *响应= [超级cachedResponseForRequest:请求];

    if([response.data length]> 0){
       //所有css,js脚本文件都会调用
       NSLog(@“从缓存中返回数据”);
    }
    返回响应;
}

此外,从缓存UIWebview返回的数据无法加载。

iphone objective-c uiwebview nsurlcache ios

5
推荐指数
0
解决办法
2351
查看次数