我正在将iPhone + iPad应用移植到Android上.它使用用于平板电脑的分割视图控制器,在Android术语中允许您同时并排呈现两个活动(编辑:Android仅在屏幕上允许一个活动,如下面的@commonsware所述.下一个最好的事情是使用片段,但是Action Bar只能存在于Activity级别,这意味着它必须扩展整个屏幕宽度.它想知道Split Activity Controller是否会进入Android平台.)
平板电脑横向布局具有固定的左窗格,用于永不更改的统计信息.右侧窗格的功能与应用程序的手机版本相同.转换仅在右侧窗格中进行.即更改活动时整个屏幕不会滑动,只有右侧窗格.您如何推荐在Android中实现此功能?
我应该使用单个活动并在右侧面板中手动执行片段之间的转换吗?这个应用程序有25个屏幕,并将有一个备用的手机布局,所以我正在尝试提前计划,并在第一次正确做到这一点:)谢谢你的帮助!

我有一个 50 像素的方形 UIView,我将它设置为我的超级视图的掩码。
let squareView = UIView(frame...)
self.view.mask = squareView
Run Code Online (Sandbox Code Playgroud)
结果是一个 50px 的正方形透明区域,但它周围的遮罩区域的颜色始终为白色。如何将透明方块周围蒙版区域的颜色更改为黑色?
_______________
| |
| <-------------- Masked area that I would like to change the color of
| |
| 000000 |
| 000000 <-------- squareView: becomes transparent as expected
| 000000 |
| 000000 |
| |
| |
| |
|_______________|
Run Code Online (Sandbox Code Playgroud) 我已成为一个有块的偏执狂和创建保留周期的可能性.我正在使用UIAlertView该类的基于块的版本,它允许您使用块而不是委托方法.我使用了很多这些Alertviews,所以我经常调用实例方法,这些方法做了很多繁重的工作.
我在方法中进行的分配是否someInstanceMethod会导致保留周期?
(我使用ARC进行内存管理.)
__weak id weakSelf = self;
[doWorkAndThen:^{
[weakSelf someInstanceMethod];
}];
-(void) someInstanceMethod{
//will either of the assignments below cause a retain cycle?
self.iVar = @"data";
[self setIvar:@"data";
}
Run Code Online (Sandbox Code Playgroud)