小编mea*_*ers的帖子

检查视图控制器是以模态方式呈现还是在推理堆栈上推送

在我的视图控制器代码中,我如何区分:

  • 以模态呈现
  • 推送导航堆栈

这两个presentingViewControllerisMovingToParentViewControllerYES在这两种情况下,所以都不是很有益的.

令我感到困惑的是,我的父视图控制器有时是模态的,在其上推送要检查的视图控制器.

事实证明我的问题是我将我HtmlViewControllerUINavigationController内容嵌入了一个然后呈现的内容.这就是为什么我自己的尝试和下面的好答案都不起作用的原因.

HtmlViewController*     termsViewController = [[HtmlViewController alloc] initWithDictionary:dictionary];
UINavigationController* modalViewController;

modalViewController = [[UINavigationController alloc] initWithRootViewController:termsViewController];
modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:modalViewController
                   animated:YES
                 completion:nil];
Run Code Online (Sandbox Code Playgroud)

我想我最好告诉我的视图控制器何时是模态,而不是试图确定.

objective-c uiviewcontroller uinavigationcontroller ios swift

109
推荐指数
8
解决办法
9万
查看次数

如何将UIViewController的视图添加为子视图

请注意,对于googlers来说,这个QA已经过时了六年!

正如下面的Micky和其他人所提到的,现在每天都在iOS中使用Containers.


我有一个控制许多子视图的ViewController.当我单击其中一个按钮时,我初始化另一个视图控制器并将其视图显示为该视图的子视图.但是子视图超出了子视图框架的边界,并且实际上填满了整个屏幕.

可能有什么不对?我认为问题是UIViewController的视图有一个框架(0,0,320,460),因此填充整个屏幕(尽管只有在子视图边界内触摸时它才会接收到触摸事件).如何调整框架大小以适合子视图.

简而言之,我需要帮助将viewcontroller的视图作为子视图添加到另一个viewcontroller的视图中.

谢谢!

iphone uiviewcontroller uiview

75
推荐指数
6
解决办法
12万
查看次数

用于验证信息的REST操作(GET,PUT或POST)是什么?

我的用户在iOS应用中输入一些信息字段.必须在我的服务器上验证此信息,该服务器具有RESTful API.验证后,iOS应用程序的UI会更改以指示结果.

GET,PUT或POST似乎都不合适,因为我没有获得资源,也没有创建或更新资源.

实现此验证的最佳拟合REST操作是什么?

rest post http put asp.net-web-api

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

在Objective-C中使用外部C++头文件

在我的iOS项目中,我需要使用用C++编写的外部库.C++头文件都在一个目录中.

我已经将这些C++标题添加到我的Xcode项目中,并且还指定了标题搜索路径(在Build Settings中).

问题是这些C++标头使用<>尖括号互相包含.这导致:

'filename.h' file not found with <angled> include, use "quotes" instead.
Run Code Online (Sandbox Code Playgroud)

奇怪的是,Xcode不会抱怨所有标题.同样在一个文件中包含#include'd标题也没问题,而#include在另一个文件中则是一个问题.我认为这是因为这些标题#include彼此.

  1. 为什么搜索路径不起作用?
  2. 有没有办法解决这个问题而不修改这些头文件?

谢谢!

c++ xcode objective-c include-path ios

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

如何等待具有完成块的方法(所有在主线程上)?

我有以下(伪)代码:

- (void)testAbc
{
    [someThing retrieve:@"foo" completion:^
    {
        NSArray* names = @[@"John", @"Mary", @"Peter", @"Madalena"];
        for (NSString name in names)
        {
            [someObject lookupName:name completion:^(NSString* urlString)
            {
                // A. Something that takes a few seconds to complete.
            }];

            // B. Need to wait here until A is completed.
        }
    }];

    // C. Need to wait here until all iterations above have finished.
    STAssertTrue(...);
}
Run Code Online (Sandbox Code Playgroud)

此代码在主线程上运行,完成块A也在主线程上运行.

  • 我如何在B等待A完成?
  • 如何在C处等待外部完成块完成?

objective-c ios

19
推荐指数
1
解决办法
3万
查看次数

forEach结果$ 0是不可变的错误

protocols.forEach { $0.prop = nil }
Run Code Online (Sandbox Code Playgroud)

结果是:

Cannot assign to property: '$0' is immutable
Run Code Online (Sandbox Code Playgroud)

我解决了这个问题:

protocols.forEach
{
    var protocol = $0

    protocol.prop = nil
}
Run Code Online (Sandbox Code Playgroud)

但是为什么编译器可以用这个呢?我希望它可以解决这个问题.

arrays foreach swift

18
推荐指数
2
解决办法
5338
查看次数

CoreData:注释:PostSaveMaintenance:fileSize大于prune

我在更新应用程序的数据库时从 CoreData 收到此消息。

CoreData: annotation: PostSaveMaintenance: fileSize 9216472 greater than prune threshold
CoreData: annotation: PostSaveMaintenance: wal_checkpoint(TRUNCATE) 
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

它会损坏我的数据(通过截断)吗?

当发生这种情况时,如何设置断点来捕获?

core-data ios swift

13
推荐指数
0
解决办法
2523
查看次数

文本末尾的空格在右对齐的UITextField中不可见

我有一个右对齐的UITextField.最初编辑时,文本末尾没有出现空格.我用这个解决了:用@" "非破坏代替"\u00a0".

但是,上面仅在编辑文本字段时显示空格.

如果编辑文本字段,如何在文本末尾显示空格?

text-alignment uitextfield ios

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

在macOS上安装pip不起作用(不再)

我按照在线说明如何pip在macOS 上安装(例如this,thisthis).

我似乎都很简单,但它对我不起作用.

我的python --version是2.7.10.

当我跑步时,sudo easy_install pip我得到:

$ sudo easy_install pip
Password:
Searching for pip
Reading http://pypi.python.org/simple/pip/
Couldn't find index page for 'pip' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
No local packages or download links found for pip
error: Could not find suitable distribution for Requirement.parse('pip')
Run Code Online (Sandbox Code Playgroud)

知道如何解决或解决这个问题吗?

python macos pip easy-install

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

屏幕左侧的UIButton(在iOS 7导航幻灯片区域中)未突出显示

我在视图控制器的最左边有一个UIButton(在XIB上),比如100点宽.

如果视图控制器位于常规选项卡上(即未在导航堆栈上按下),则按钮会在按下时按预期高亮显示.

但是,当视图控制器位于更多选项卡上(因此在导航堆栈上按下)时,按钮在其左侧(即最左边的50个点)点击时不会突出显示.按钮确实起作用,正在调用它的动作.但是,当点击右侧时,它会突出显示.(顺便说一句,我认为当从任何其他视图控制器推送视图控制器时,这是一个普遍的问题;可能不一定是更多选项卡.)

经过一些研究后发现,当我点击左侧屏幕区域时,iOS-7可以滑回到父视图.任何想法为什么这样,以及如何使按钮再次正常工作.

谢谢你的时间!

objective-c uibutton uiviewcontroller uiview ios

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