小编Hes*_*gid的帖子

Facebook SDK登录永远不会在iOS 9上回调我的应用程序

我已按照指南更新我的应用程序,以便在使用iOS 9 SDK构建时使用Facebook SDK 4.6正常工作.

当我点击登录按钮时,会出现一个Safari视图控制器(不应该重定向到Facebook应用程序吗?),但在接受权限后,Safari视图控制器永远不会被解雇.它会加载一个新的空白页面并在那里无所事事.如果我点击完成按钮,返回FBSDKLoginManagerLoginResultisCancelled是真的.

SDK是否通过Facebook应用程序选择Safari视图控制器是正常的吗?为什么登录完成后我没有得到回调?

facebook objective-c ios

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

shouldAutorotateToInterfaceOrientation未在iOS 6中调用

我正在使用MGSplitViewController,我shouldAutorotateToInterfaceOrientation用来控制旋转时主视图控制器的大小.

它在iOS 5上运行良好,但在iOS 6(模拟器和iPad)shouldAutorotateToInterfaceOrientation上从未调用过.

这是一个我应该期望在iOS 6的最终版本中修复的错误或者我不知道已经改变的东西吗?

orientation ios ios6

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

限制UIAttachmentBehavior在UICollectionView内的垂直移动

我有一个水平UICollectionView的自定义UICollectionViewFlowLayout,UIAttachmentBehavior每个单元格都有一个设置,以便在向左和向右滚动时给它一个弹性的感觉.该行为具有以下属性:

attachmentBehavior.length = 1.0f;
attachmentBehavior.damping = 0.5f;
attachmentBehavior.frequency = 1.9f;
Run Code Online (Sandbox Code Playgroud)

将新单元格添加到集合视图时,它会添加到底部,然后使用a将其设置为其位置UIAttachmentBehavior.当然它会一点一点地反弹,直到它停留在它的位置上.一切都按预期工作到现在为止.

在此输入图像描述

在新添加的单元格停止之前向左或向右滚动集合视图时,我开始出现问题.这增加了单元格已经具有的向上和向下的左右弹性.这导致细胞中非常奇怪的圆周运动.

在此输入图像描述

我的问题是,是否可以在滚动集合视图时停止UIAttachmentBehavior的垂直运动?我已尝试过不同的方法,例如使用多个附件行为并在集合视图中禁用滚动,直到新添加的单元格停止,但它们中的任何一个似乎都不会停止此操作.

objective-c ios uicollectionview uikit-dynamics

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

根据设备类型选择不同的故事板

我有一个通用的应用程序,我手动加载我的主要故事板application:didFinishLaunchingWithOptions.

我有2个故事板的iPhone和iPad,因为他们~iPhone~iPad后缀.我正在使用以下方式加载我的故事板:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
self.initialViewController = [storyboard instantiateInitialViewController];
Run Code Online (Sandbox Code Playgroud)

这打印Unknown class ViewController in Interface Builder file.到控制台,显然它没有加载正确的故事板.但是,当我使用[UIStoryboard storyboardWithName:@"MainStoryboard~iPhone" bundle:nil];它工作正常,但当然只适用于iPhone.

我错过了什么?如何使用名称后缀自动选择正确的故事板?

iphone ios uistoryboard

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

使用UISearchDisplayController时,UICollectionView中的UISearchBar消失

我有一个UISearchBar子视图添加到a UICollectionView,并附加到UISearchDisplayController.

我把它设置为viewDidLoad:

self.searchController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar
                                                          contentsController:self];
self.searchController.delegate = self;
self.searchController.searchResultsDataSource = self;
self.searchController.searchResultsDelegate = self;

[self.collectionView addSubview:self.searchBar];
Run Code Online (Sandbox Code Playgroud)

当我将另一个视图控制器推送到导航控制器然后弹出它时,搜索栏消失.仅当集合视图向下滚动到足以隐藏搜索栏时才会发生这种情况.此外,即使搜索栏消失,点击它应该激活的白色空间也会激活附加到它的搜索显示控制器.

这仅在iOS 7上发生,如果我删除搜索显示控制器,搜索栏将不会消失.

还有一件事值得一提.当搜索栏消失时,如果我按下另一个视图控制器然后弹出它,则该栏将再次可见.

显然这是UISearchDisplayControlleriOS 7上的一个bug ,所以关于如何解决它的任何想法?

uisearchbar ios uisearchresultscontroller uicollectionview ios7

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

状态为"上传已接收"时拒绝二进制文件

在我发现一个小问题后不久我上传了我的二进制文件进行审核,这个问题需要拒绝二进制文件并上传新的二进制文件.

在我的应用程序详细信息中,二进制详细信息链接不存在,因此我无法拒绝二进制文件.我想知道这是不是应该是这样的,或者这是iTunes Connect中的一个错误.还有其他方法我可以拒绝这个二进制文件,而不必等待其状态更改为"等待审查"?

itunesconnect app-store ios

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

Xcode省略了块的参数名称

我有一个块属性,如下所示:

@property (nonatomic, copy) void (^indexChangeBlock)(NSInteger index);
Run Code Online (Sandbox Code Playgroud)

当我尝试设置此属性的值时,Xcode自动完成将省略参数名称,留下如下所示的内容:

[self.segmentedControl3 setIndexChangeBlock:^(NSInteger) {
    code
}];
Run Code Online (Sandbox Code Playgroud)

然后Xcode显示Parameter name omitted错误.我知道我可以通过手动添加参数名来解决这个问题,使它看起来像这样:

[self.segmentedControl3 setIndexChangeBlock:^(NSInteger index) {
    code
}];
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何让Xcode自动添加参数名称.或者换句话说,防止它删除它们.

iphone xcode block ios

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

使用新的 iOS 11 API 重新排序 tableview 时动画不正确

我在 iOS 11 上使用新的拖放 API 来重新排序同一应用程序内 tableview 中的单元格。

这是我对UITableViewDragDelegateand的实现UITableViewDropDelegate

extension TasksViewController: UITableViewDragDelegate {
    func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
        let string = tasks[indexPath.row]
        guard let data = string.data(using: .utf8) else { return [] }
        let itemProvider = NSItemProvider(item: data as NSData, typeIdentifier: kUTTypePlainText as String)
        let item = UIDragItem(itemProvider: itemProvider)
        item.localObject = string

        return [item]
    }
}

extension TasksViewController: UITableViewDropDelegate {
    func tableView(_ tableView: UITableView, canHandle session: UIDropSession) -> …
Run Code Online (Sandbox Code Playgroud)

iphone uitableview ios swift ios11

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

观察者永远不会从NSNotificationCenter中删除

我正在添加一个视图控制器作为UIKeyboardWillShowNotification通知的观察者.

我的代码在我的viewDidLoad:

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(keyboardWillShow:)
                                         name:UIKeyboardWillShowNotification
                                       object:nil];
Run Code Online (Sandbox Code Playgroud)

在我的dealloc:

[[NSNotificationCenter defaultCenter] removeObserver:self];
Run Code Online (Sandbox Code Playgroud)

即使dealloc在视图控制器关闭时调用,也不会删除观察者.因此,当我第二次打开它时,NSNotificationCenter将尝试通知已发布的旧对象,并且应用程序崩溃.

我在StackOverflow上看到了关于这个特殊问题的几个问题,但没有答案对我有用.

我试过删除观察者viewWillDisappear,viewDidDisappear但同样的问题发生了.

我正在使用ARC.

nsnotificationcenter ios

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

如何在 iOS 15 中删除节标题分隔符

在 iOS 15 中,UITableView在节标题和第一个单元格之间添加一个分隔符:

在此处输入图片说明

如何隐藏或删除该分隔符?

一些注意事项:

  1. 标头是从 返回的自定义视图tableView(_:viewForHeaderInSection:)
  2. 在查看视图调试器时,我可以看到额外的分隔符实际上是第一个单元格的子视图,它现在有一个顶部和一个底部分隔符。
  3. 除了设置tableView.separatorInset更改单元格分隔符的插入之外,这是一个完全标准的表格视图,没有自定义。

uitableview uikit ios ios15

5
推荐指数
3
解决办法
104
查看次数