我在查看层次结构和在iPhone上绘图时遇到了一些麻烦.
更具体地说,我有一个标签栏应用程序,其中包含一个包含表格视图的选项卡,我希望选择特定单元格以使UIPickerView向上滑动.滑动不是一个真正的问题(或者至少我假设它不会一次我把这个部分弄清楚),但我似乎无法让选择器(或任何UIView,就此而言)出现标签栏.
我认为我设置这个标签的方式可能就是问题所在.通常,在任何其他选项卡中,我可以执行以下操作:
[self.tabBarController.view addSubview:pickerView];
Run Code Online (Sandbox Code Playgroud)
一切都会好起来的.
但是对于这个特定的选项卡,我在导航栏中有一个UISegmentedControl,可以在两个不同的UITableView之间切换.因此,与选项卡关联的视图控制器(称为TabViewController)具有这两个表视图控制器(TableOneViewController和TableTwoViewController)的自己的实例,并将插入当前选定的表视图(基于分段控件)作为TabViewController视图的子视图.
如果我不需要像这样切换视图,我可以打电话
[tabViewController.tabBarController.view addSubview:pickerView];
Run Code Online (Sandbox Code Playgroud)
从TabViewController和选择器将显示在选项卡栏上.但问题是我不能在这个选项卡中选择的任何一个表视图控制器中调用它(我可以,但它没有做任何事情).我已经尝试将此tabBarController属性传递给表视图控制器,但这也不起作用.我也试过搞乱应用代表(我试图避免)无济于事.
有什么简单的我在这里缺少,或者这可以不做?我觉得应该这样,因为键盘可以在此表视图中向上滑动标签栏.有没有办法只绘制所有当前的视图和子视图?
以下是在TabViewController.m中选择分段控件时调用的内容,并切换视图:
- (IBAction)switchViews:(id)sender
{
if (self.tableOneViewController.view.superview == nil)
{
if (self.tableOneViewController == nil)
{
TableOneViewController *tempOneController = [[TableOneViewController alloc] initWithNibName:@"TableOneViewController" bundle:nil];
self.tableOneViewController = tempOneController;
[tempOneController release];
}
[tableTwoViewController.view removeFromSuperview];
[self.view insertSubview:tableOneViewController.view atIndex:0];
}
else
{
if (self.tableTwoViewController == nil)
{
TableTwoViewController * tempOneController = [[TableTwoViewController alloc] initWithNibName:@"TableTwoViewController" bundle:nil];
self.tableTwoViewController = tempOneController;
[tempOneController release];
}
[tableOneViewController.view removeFromSuperview];
[self.view insertSubview:tableTwoViewController.view atIndex:0];
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在TableOneViewController.m中添加选择器时,会发生什么:
UIPickerView *tempPicker = [[UIPickerView alloc] init]; …Run Code Online (Sandbox Code Playgroud) 在javascript中,有什么区别:
var singleton = function(){ ... }
Run Code Online (Sandbox Code Playgroud)
和
var singleton = new function(){ ... }
Run Code Online (Sandbox Code Playgroud)
?
声明crockford(http://www.crockford.com/javascript/private.html)所描述的特权功能仅适用于后者.
我可以格式化Get-Datecmdlet没有这样的问题:
$date = Get-Date -format "yyyyMMdd"
Run Code Online (Sandbox Code Playgroud)
但是一旦我在变量中得到了一个日期,我该如何格式化呢?以下声明
$dateStr = $date -format "yyyMMdd"
Run Code Online (Sandbox Code Playgroud)
返回此错误:
"你必须在'-f'运算符的右侧提供一个值表达式"
这里有一些 资源是书面的Scala编译器插件对代码模式匹配启发在网络上,但这些并不在生成代码(构建符号树)帮助.我应该在哪里开始弄清楚如何做到这一点?(如果有一种比手动构建符号树更简单的方法,我也会感兴趣.)
例如,我想编写一个插件,用这个表达式的简单AST替换一些代码,其中变量(从原始程序代码中提取)可以是任何类型:
"" + hello + ", " + world + "!"
Run Code Online (Sandbox Code Playgroud)
我意识到这可能是棘手的,因为拳击toString,例如,如果
hello是一个对象,并且world是一个int,这应该是这样的:
"".+(hello.toString().+(", ".+(new Integer(world).toString().+("!"))))
Run Code Online (Sandbox Code Playgroud) 我试图了解如何以及何时评估迭代器表达式.以下似乎是一个懒惰的表达:
g = (i for i in range(1000) if i % 3 == i % 2)
Run Code Online (Sandbox Code Playgroud)
然而,这个在构造上失败了:
g = (line.strip() for line in open('xxx', 'r') if len(line) > 10)
Run Code Online (Sandbox Code Playgroud)
我没有名为'xxx'的文件.但是,既然这件事很懒,为什么这么快失败呢?
谢谢.
EDI:哇,我做了一个懒人!
g = (line.strip() for i in range(3) for line in open(str(i), 'r'))
Run Code Online (Sandbox Code Playgroud) 任何可用于silverlight的免费数据库都可以存储在独立存储中?
我正在研究java中的MUD.我每次打勾都会看到玩家输入,但是我正在使用Scanner阻止操作.我想要非阻塞输入.
我看过nio有一个Selector类的包,但是我不确定如何使用它System.in.我想,一旦我运行服务器,我肯定会需要它,但现在一切都是离线的.
我已经尝试过扩展主类Applet和重写keyDown,但这只是意味着在第一个之后不再接受输入.当然,我不再阻止任何东西了,但是没有更多的输入.keyDown我想,再也没有打过电话.
也许线程即使在执行阻塞操作时也可能被中断?
感谢您对此问题的任何见解.
我一直在阅读文档但是我并不是立即清楚如何使用CGPath绘制多边形.我需要做的就是在这样的事情周围绘制CGPath:
__
\ \
\ \
\__\
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供一个如何做到这一点的片段?
另外我假设CGPathContainsPoint将帮助我确定一个点是否在这样的路径中?或者路径是否必须是一个实体图
另外我怎么能移动cgpath?这就像在cgrect中更改像原点一样容易吗?
谢谢.
-Oscar
我在这个过程中学习lex,我正在为C语言生成令牌,并且我试图识别单行注释"//",但是我与分区运算符有冲突
[1-9][0-9]*|0x[0-9a-fA-F][0-9a-fA-F]* return NUMBER;
[a-zA-Z][a-zA-Z0-9]* return IDENT;
/ {return DIVIDE;}
[ \t\r\n]
[//]
Run Code Online (Sandbox Code Playgroud)
但是当我运行示例并输入//它将它们识别为2个分区运算符时.我应该在哪里修改代码.有什么建议.
编辑:
Lex代码:
%{
#include "y.tab.h"
%}
%array
%%
if {return IF;}
while {return WHILE;}
else {return ELSE;}
int {return INT;}
return {return RETURN;}
\/\/[^\r\n]*
[1-9][0-9]*|0x[0-9a-fA-F][0-9a-fA-F]* return NUMBER;
[a-zA-Z][a-zA-Z0-9]* return IDENT;
[+] {return ADD;}
[-] {return SUB;}
[<] {return LESS;}
[>] {return GREAT;}
[*] {return MULT;}
[/] {return DIVIDE;}
[;] {return SEMICOLON;}
\{ return LBRACE;
\} return RBRACE;
[ \t\r\n]
\( return LPAREN;
\) return RPAREN;
. …Run Code Online (Sandbox Code Playgroud) iphone ×2
javascript ×2
c ×1
cgpath ×1
cocoa-touch ×1
datetime ×1
draw ×1
input ×1
java ×1
lex ×1
objective-c ×1
plugins ×1
polygon ×1
powershell ×1
python ×1
scala ×1
silverlight ×1
stdio ×1
textinput ×1