我有一个自定义动画UIViewController转换,似乎iOS中存在一个错误,它以横向方向搞砸了布局.在主要的动画方法中,我给出了混合的横向和纵向视图.(在肖像中,视图都是人像,所以没问题.)
- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext;
{
UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIView *containerView = [transitionContext containerView];
// fromViewController.view => landscape, transform
// toViewController.view => portrait, transform
// containerView => portrait, no transform
[containerView addSubview:toViewController.view];
// ...animation... //
}
Run Code Online (Sandbox Code Playgroud)
我知道frame
当视图有变换时属性不可靠 - 所以我猜这是问题的根源.在横向模式下,to/from viewControllers视图具有90度顺时针变换[0 -1 1 0].我已经尝试使用边界/中心来调整视图的大小和位置,以及删除变换然后重新应用它,但是UIKit与我打架并且坚持将视图显示为肖像.烦!
在屏幕截图中,深灰色是UIWindow背景,红色是添加的模态视图控制器,应覆盖整个屏幕.
有人找到了解决方法吗?
将Swift代码挂钩到Storyboard时,如何添加IBAction
和IBOutlet
标记?
我正在查看 iOS13 中可用的 DiffableDataSource(或在此处向后移植:https : //github.com/ra1028/DiffableDataSources)并且无法弄清楚如何在您的集合或 tableview 中支持多种单元格类型。
Apple 的示例代码1具有:
var dataSource: UICollectionViewDiffableDataSource<Section, OutlineItem>! = nil
Run Code Online (Sandbox Code Playgroud)
这似乎强制数据源为单个单元格类型。如果我为另一种单元格类型创建一个单独的数据源 - 那么不能保证两个数据源不会同时apply
调用它们 - 这会导致可怕的NSInternalInconsistencyException
- 任何试图动画的人都熟悉使用 手动插入/删除单元格performBatchUpdates
。
我错过了一些明显的东西吗?
我写了一个我想分发的小PHP应用程序.我正在寻找最佳实践,以便能够以最小的麻烦安装在大多数虚拟主机上.
简而言之:这是一个简单的工具,让人们在用密码登录后下载文件.
所以我的问题是:
1)我应该如何处理配置值?我没有使用数据库,所以配置文件似乎合适.我知道其他php应用程序(例如Wordpress)使用定义,但它们是全局的,并且名称可能会发生冲突.(显然,全局变量也有同样的问题.)我查看了PHP内置的"ini"文件机制.它只允许在顶部进行注释 - 因此您无法轻松地对每个设置进行注释 - 并且您无法使用"php -f"验证语法.其他选择?
2)如何处理模板?该应用程序需要抽出一个表格.可能有错误信息.(例如"抱歉,密码错误.")我有一个带有HTML表单的类变量,但也允许使用外部模板文件(在配置中指定).我做了一些简单的搜索和替换 - 例如%SCRIPT%到脚本的名称,%STATUS%来保存错误消息.这感觉有点像重新发明轮子,但包括像Smarty这样的模板系统是过度的.(另外他们可能已经有模板系统.)其他选择?
3)i18n - 只有3个消息字符串,并且gettext似乎没有普遍安装.仅仅在配置文件中创建这三个字符串参数是一个坏主意吗?
4)如何最好地与其他框架集成?我的应用程序是一个单独的类.所以,我想我可以只包含一个显示该类被调用的PHP脚本.对于那些不得不将其集成到另一个框架中的人来说,这将是一个起点,对于那些对定制不感兴趣的人来说也是如此.合理?
5)GET/POST参数 - 对于一个类来说,查看$ _GET和$ _POST是不好的形式?在施工期间是否应将所有值传递到我的班级?
谢谢.