我正在使用iPhone 3.1.3 SDK开发针对带有3.1.3操作系统的iPhone 3GS.我的应用程序有一个标签栏,其中包含七个项目,其中只有两个包含有意义 因此,对于其余项目,我取消选中"Tab Bar Item"属性中的"Enabled"框(第一页,"Bar Item"部分).
这适用于禁用的两个可见标签栏项目 - 无法单击它们.然而,当点击最右边的"更多"标签栏项时,其余三个仍然在"更多"表格中启用 - 我得到他们的(空)表格视图.在我看来,这是一个错误 - 因为这些项目没有启用,它们不应该是可点击的,即使在"更多"表格中也是如此.在调试模式下的模拟器和发布模式下的iPhone上都会发生这种情况.
那么如何禁用"更多"表格中的标签栏项?
我有一个显示图像的GridView,不幸的是,这些图像的大小不同.它们显示在两行文本之间:
text1.1 text1.2
ImageView(IMAGE1) ImageView(IMAGE2)
text2.1 text2.2
text3.1
ImageView(IMAGE3)
text4.1
Run Code Online (Sandbox Code Playgroud)
等等....
如果IMAGE1是相同的高度IMAGE2,一切都很好,但如果IMAGE1是长比IMAGE2,text2.1会碰上text3.1(填充似乎没有多大帮助,因为有太多的它,当图像的同样的高度).
我知道有一种方法可以在ImageView中拉伸图像,因此它们的高度相同,但是可以保持图像不变并以某种方式设置行高吗?
我正在创建一个链接缩短服务,我正在使用增量ID字段的base64编码/解码来创建我的URL.ID为"6"的网址为:http://mysite.com/Ng==
我还需要允许用户创建自定义网址名称,例如http://mysite.com/music
到目前为止,这是我的(可能是错误的)方法.帮助修复它将不胜感激.
当有人创建新链接时:
当有人创建新链接并传递自定义短网址时:
有没有更好的编码方法,可以让我把任何数量成短字符串,任何字符串转换成一个数字,这样我就可以随时查找短网址(无论是定制还是自动生成的)转动名字变成一个号码,查询链接ID等于那个数字?
我正在学习初学C++课程.我收到一个作业,告诉我编写一个程序,将二进制和十六进制之间的任意基数中的任意数字转换为二进制和十六进制之间的另一个基数.我被要求使用单独的函数来转换为基数10.这是为了帮助我们习惯使用数组.(我们之前在课堂上已经介绍了参考文献.)我已经把它转过来了,但我很确定这不是我的意思:
#include <iostream>
#include <conio.h>
#include <cstring>
#include <cmath>
using std::cout;
using std::cin;
using std::endl;
int to_dec(char value[], int starting_base);
char* from_dec(int value, int ending_base);
int main() {
char value[30];
int starting_base;
int ending_base;
cout << "This program converts from one base to another, so long as the bases are" << endl
<< "between 2 and 16." << endl
<< endl;
input_numbers:
cout << "Enter the number, then starting base, then ending base:" << endl;
cin >> value >> starting_base …Run Code Online (Sandbox Code Playgroud) 我有一个具有虚方法的抽象类.如果以后的实现需要覆盖该功能,则该方法是虚拟的.
但是,Moq代理所有虚拟方法,因此我似乎无法测试所编写的实际代码,而是使用该方法的Mock设置(当前返回默认值).
示例摘要:
public abstract SomeAbstract
{
public abstract Format(IFormatProvider provider, string format)
{
// does some stuff i need to test
}
}
Run Code Online (Sandbox Code Playgroud)
我的NUnit测试:
[Test]
public void Should_Set_Format_State()
{
Mock<SomeAbstract> mock = new Mock<SomeAbstract>();
mock.Object.Format(CultureInfo.CurrentCulture, "format string");
// do tests to make sure Format correctly changed the object's state
}
Run Code Online (Sandbox Code Playgroud)
如何设置我的Mock对象让我的虚拟Format方法工作,而不必virtual从方法中删除?!也许我在这种情况下滥用嘲弄的概念.
所以我运行的iPhone应用程序由UITabBarController控制在最高级别.它是许多iPhone应用程序中底部的默认黑色Tab栏.我是iPhone SDK编程的新手,我知道我已经看到其他应用程序底部的Tab Bar有自己的背景颜色.我不确定他们是否像我一样使用此标签栏作为其应用的主控制器,但问题适用于此:
如何在应用程序中更改主UITabBarController的背景颜色?我想把它改成一个深绿色的绿色,类似于我在我的应用程序中放置的导航栏和标签的颜色.我觉得很奇怪苹果如何使得它可以很容易改变导航栏(不控制器),和其他东西的颜色,但是当涉及到控制器(在这种情况下,标签栏控制器),我无法找到实现单路这干净而有效.
假设我有一个树视图,其中每个树节点包含一组不同用户控件的 id。当用户点击一个节点时,这些控件应该被加载到页面中。据我了解 ASP 页面生命周期,应在初始化阶段添加动态控件,稍后将触发回发事件。
那么如果在我需要添加控件之后发生treeview点击事件,我该如何根据用户回发事件动态添加控件呢?
编辑:我尝试了 ArronLS 的建议:
我所做的是将节点值添加到会话数组中,并在我执行 init 时使用它来选择要加载到占位符控件的控件的表单元素。在 treeview 单击事件中,我更新会话数组中的节点,清除占位符中的旧表单元素,并将新表单元素添加到控件中。当页面再次加载时,它现在应该在初始化时找到节点,这样就可以避免视图状态问题。
现在我还没有完全测试这个,但是还有另一个类似的帖子讨论了视图状态可能导致的问题。他们提出了一个解决方案,在 Init 控件中轮询上下文的 Request[] 部分(在他们的情况下是 dropbox),手动处理一些回发功能。
我的新问题是如何使用请求数组访问树视图中的选定节点?
我正在尝试修复jQuery UI小部件上的一个非常奇怪的javascript行为.IE7(win XP),jQuery 1.2.6(是的,它是旧版本).
小部件是一个组合框,它捕获键盘事件并具有箭头键的特殊行为.
当我尝试在弹性框输入字段中键入"&"字符时,我会遇到奇怪的行为.
flexbox有一些代码,如:
//initialization
$myInputElement.keypress($.flexbox.process_key);
$.flexbox.process_key = function process_key(e) {
$.flexbox.flexboxFromInput(this).processKey(e);
return true;
};
//on the flexbox object's prototype:
...
processKey: function processKey(e) {
var mod = 0;
if (typeof (e.ctrlKey) !== 'undefined') {
if (e.ctrlKey) mod |= 1;
if (e.shiftKey) mod |= 2;
} else {
if (e.modifiers & Event.CONTROL_MASK) mod |= 1;
if (e.modifiers & Event.SHIFT_MASK) mod |= 2;
}
...
switch (e.keyCode) {
case 38: // up
this.prevResult();
break;
case 40: // down …Run Code Online (Sandbox Code Playgroud) 我有一个都崩溃了,一旦我得到它在没有开发环境installed--如果这是一个傻瓜,我是欢迎的封罐机WPF应用程序,但我我的搜索福未能找到一个等效的问题.我似乎得到了一个XamlParseException,但没有比这更有用了.我需要获得有用的信息.
浏览Windows 7事件日志会给我这个错误日志:
Fault bucket , type 0
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: MyApp.exe
P2: 1.0.0.0
P3: 4b88323d
P4: PresentationFramework
P5: 3.0.0.0
P6: 4a174fbc
P7: 624f
P8: e1
P9: System.Windows.Markup.XamlParse
P10:
Attached files:
C:\Users\Mark\AppData\Local\Temp\WER7DC.tmp.WERInternalMetadata.xml
These files may be available here:
C:\Users\Mark\AppData\Local\Microsoft\Windows\WER\ReportArchive
\AppCrash_generatortestbed_4fa7dff09a9e893eb675f488392571ced4ac8_04ef1100
Analysis symbol:
Rechecking for solution: 0
Report Id: cd55060c-271f-11df-b6ff-001e52eefb8e
Report Status: 1
Run Code Online (Sandbox Code Playgroud)
我检查了那些目录,第一个目录不存在,而第二个目录包含一个只列出加载的dll的wer文件.
我可以在我的测试机器上安装一个开发环境,但是它无法成为一台测试机器而我又回到原点.我没有在安装了开发环境时遇到此错误,因此我对如何获得详细,有用的错误消息感到茫然.
编辑:建立@Alastair Pitts的评论如下,这是我填写异常处理的方式:
private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) {
Exception theException = e.Exception;
string theErrorPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) …Run Code Online (Sandbox Code Playgroud) 我正在尝试做类似的事情
var=0
grep "foo" bar | while read line; do
var=1
done
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,因为管道导致while在子shell中运行.有一个更好的方法吗?如果有另一种解决方案,我不需要使用"读取".
我看过类似的Bash变量范围,但我无法从中获得任何有用的东西.