有没有直接测量文字高度的方法?我现在这样做的方法是使用Paint measureText()
来获取宽度,然后通过试验和错误找到一个值来获得近似高度.我也一直在搞乱FontMetrics
,但所有这些似乎都是近似的方法.
我正在尝试扩展不同分辨率的东西.我可以做到,但我最终得到了令人难以置信的冗长代码,并通过大量计算来确定相对大小.我讨厌它!一定有更好的方法.
我一直想知道的事情; 在一个类中,你可以通过使用'this.[NAME]'或简单地[NAME]来引用一个成员,这是首选?
例如在Java中:
public class foo {
public int bars = 0;
private void incrementBars(){
bars++;
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class foo {
public int bars = 0;
private void incrementBars(){
this.bars++;
}
}
Run Code Online (Sandbox Code Playgroud)
"似乎"具有相同的效果.
在我实例化类foo的多个实例的情况下,到目前为止,我做了类似的事情:
for (foo f : listOfFoos){
f.incrementBars();
}
Run Code Online (Sandbox Code Playgroud)
它似乎仍然有效.
它在技术上是不明确的,如果是这样,有一种首选方式吗?
遇到一个奇怪的问题:集成有时会失败:
测试目标[...]遇到错误(iOS模拟器无法安装应用程序.)
我们使用两个模拟器7.0和7.1进行测试.
我尝试在服务器上打开模拟器并通过ui清除它们的内容.我还试图删除〜/ Library/Application Support/iPhone/Simulator/7.xx/Applications数据而没有结果.
令人沮丧的是整合过程工作了几个小时,然后打破了上面提到的失败消息,然后工作.
我看过原木,但没有吸烟枪,但我可能错过了什么.
我应该在哪里调试这个?
如果这只是关于iOS模拟器无法安装应用程序的所有其他问题的特殊情况,那么我想我需要能够运行清理脚本.如何挂钩整合过程?
更新:我在每次集成之前手动运行此命令:
rm -rfv ~/Library/Application\ Support/iPhone\ Simulator/;
Run Code Online (Sandbox Code Playgroud)
结果相同.我有时会得到"iOS模拟器无法安装......"
我也尝试通过ui手动清除模拟器.我仍然遇到了这个问题.
我知道它没有任何意义,但有没有办法在客户端上运行javascript,找到活动浏览器的屏幕宽度/高度,然后将这些变量传递给PHP脚本?
所有的常识通常都是PHP >> Javascript,我从不相信客户端,我现在找不到办法.
这是一个.php文件,所以很容易阻塞,但我似乎无法反过来.
我正在创建一个JSON对象,但后来意识到我还有同样的墙要爬.
谢谢.
我发现技术之间的相互作用作为一个业余爱好者有点挑战,但它让我感到强大.也许很快我就能用手停止例外.好吧,矩阵引用失败了,因为这是人们在第二层文字级别上所做的事情.
我正在使用从UIScrollView继承的自定义视图.我遇到的问题是添加一个应该在其他视图前面的"顶部"显示的UILabel.它很有效,但不幸的是它也掩盖了滚动指示器.
如您所见,滚动指示器被遮挡.我不想禁用滚动指示器.
我将视图直接添加到UIScrollView:
UILabel *subsection = [[UILabel alloc] initWithFrame:CGRectMake(0, y * h,
[self totalContentWidth], [tableViewDelegate rowHeight])];
[subsection setText:subsectionName];
[subsection setTextAlignment:NSTextAlignmentCenter];
[subSectionRows setValue:subsection forKey:key];
[self addSubview:subsection];
Run Code Online (Sandbox Code Playgroud)
然后把它们带到前面,哪个
- (void) bringSubsectionsToFront {
for (UIView* row in [self.subSectionRows allValues]) {
[self bringSubviewToFront:row];
}
}
Run Code Online (Sandbox Code Playgroud)
这种行为让我感到困惑.如果我查看UIView.layer.zPosition
所有UIScrollView的子视图,它们都是一样的.
如果我调整bringSubsectionsToFront
方法而不是在包含网格线的视图前移动标签,则行为是相同的.
查看一些行为有效的内部视图类,看起来好像它们被添加到滚动视图中: [self insertSubview:cell atIndex:0];
我在这里错过了什么?
解决方案: verec评论说,如果我真的想要,我可以找到这些酒吧.所以我在适当的时候迭代了子视图列表,果然,他们在那里.对象的顺序如下:
CustomCell
...
UIImageView
UIImageView
CustomBorderView
UILabel
UILabel
Run Code Online (Sandbox Code Playgroud)
假设这是z排序,难怪我的标签总是排在最前面.
解决方案变得简单 在CustomCells之后添加UILabel.此解决方案仅适用,因为自定义表在索引0处添加了CustomCells,我相信在CustomCells之后会出现滚动指示符.如果这个假设成立,我可以重新排序相对于CustomCells的其他视图,实现我想要的分层效果.
我正在创建一个库.它会创建一个活动,启动它,并在按下按钮后完成它.
按下按钮后,我想通过一个接口执行一些客户端代码.
也就是说,这个库的用户传入一个实现,我只是执行它.
类似的iOS代码将是:
MyViewController *vc = [[MyViewController alloc] init];
vc.callOnComplete = ...
[self presentViewController:vc animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
所需的代码是:
public interface SaveStuff {
void save();
}
Run Code Online (Sandbox Code Playgroud)
在我的图书馆的活动中:
private SaveStuff saveStuff;
public void onButtonClicked(View v) {
saveStuff.save() // client passes in saveStuff obj
finish();
}
Run Code Online (Sandbox Code Playgroud)
我尝试过序列化.我创建了一个实现接口并且也实现了的类Serializable
,并尝试将其传递并使用它进行提取getSerializableExtra
.我最终获得了一个非序列化的异常.据我所知,这可能不是一个可行的解决方案,因为它意味着客户端必须在其实现中仅使用可序列化的类.如果我错了,请纠正我.在我的试验中,客户端活动显示在非序列化异常中.
我尝试过使用静态引用.基本上是全球州/单身人士.事实证明,根据诸如此类的各种答案:Java静态变量变为空,我不能依赖任何静态状态,并且任何与静态一起工作的解决方案只是巧合.
我没有尝试过简单地启动活动startActivityForResult
,因为这需要我将我们接受的上下文作为参数投射到Activity.活动启动里面有这个库:
private void startNewActivity(int newVersion) {
Intent i = new Intent(context, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i); // context variable is passed in by the client
}
Run Code Online (Sandbox Code Playgroud)
如您所见,客户端传递上下文.我可以将上下文强制转换为一个Activity来调用 …
我需要<input type="checkbox">
从表格中查找和操作。目前我有一个非常斯巴达的功能:
function testAjaxCheckBoxes() {
var table = document.getElementById("ajax_output");
var nodeList = table.getElementsByTagName("input");
}
Run Code Online (Sandbox Code Playgroud)
这就是我目前所知道的一切。我有 的nodeList
所有标签的对象<input>
,但我不知道如何检查每个标签的类型或属性。
我想更普遍的问题是如何通过 DOM 查看和操作任何类型的属性?
我正在将一个NSF的pdf文件加载到webview中:
[webView loadData:pdf MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
Run Code Online (Sandbox Code Playgroud)
它在UIWebView中显示精美,并正确显示pdf的页数.
然而,当我尝试打印时,我得到整个页面,然后是一个左上页,可能是单个pdf页面的最后十分之一.换句话说,我没有一对一的通信.它似乎没有缩小内容.
如何缩放打印输出?我用这个片段打印:
UIPrintInteractionController *pic =
[UIPrintInteractionController sharedPrintController];
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = printName;
printInfo.duplex = UIPrintInfoDuplexNone;
pic.printInfo = printInfo;
pic.printFormatter = [webView viewPrintFormatter];
pic.showsPageRange = YES;
Run Code Online (Sandbox Code Playgroud)
这个问题描述了一种涉及缩放输入的方法,但我希望存在更简单的东西.
问候,戴恩
我有一个应用程序,一直在一个特定组件中获得ANR,我无法弄清楚是什么占用了cpu时间.最近我得到了两种ANR,原生和等待.
DALVIK THREADS:
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x4001d8c0 self=0xccc8
| sysTid=10569 nice=0 sched=0/0 cgrp=default handle=-1345017816
| schedstat=( 9041503981 6690216078 17225 )
at android.view.Surface.lockCanvasNative(Native Method)
at android.view.Surface.lockCanvas(Surface.java:314)
at android.view.SurfaceView$3.internalLockCanvas(SurfaceView.java:773)
at android.view.SurfaceView$3.lockCanvas(SurfaceView.java:756)
at com.dane.hud.Surfaceview$DrawThread.run(Surfaceview.java:776)
at com.dane.hud.Surfaceview.onTouchEvent(Surfaceview.java:322)
at android.view.View.dispatchTouchEvent(View.java:3766)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
"Binder …
Run Code Online (Sandbox Code Playgroud) android ×3
ios ×3
java ×2
javascript ×2
objective-c ×2
airprint ×1
browser ×1
callback ×1
coding-style ×1
dom ×1
graphics ×1
json ×1
oop ×1
php ×1
surfaceview ×1
uiscrollview ×1
view ×1
xcode ×1