小编ang*_*son的帖子

iPhone Web应用程序,模板,框架?

在制作专门用于在iPhone上观看的网页/网站/应用程序时,有没有人对我有任何好的起点?

我看过Joe Hewitt所制作的模板,还看到了我可以购买的一些模板,我还没有完成.

我想其他人已经开始在这条赛道上,并决定我可能会汲取他们新发现的知识:)

那么,有没有人有任何指针?我很清楚这样的模板/框架使得Web应用程序看起来像本机iPhone应用程序的问题越多,我就越有可能遇到麻烦,因为它不是,但是现在我想要我可以开始构建一个框架,然后在此过程中弄清楚如何使其与众不同,以便被视为Web应用程序以及看起来像本机iPhone应用程序.

具体来说,我正在寻找以下功能:

  • 样式表设置,或指向如何为iPhone执行它们
  • 页面翻动动画,即.选择列表中的项目,列表向左滚动视图,项目信息从右侧滚动
  • 动画部分必须使用动态页面,即.不只是为每个子项设置了div的一个大页面,至少有一个这样的框架作为一种快速修复,我需要让列表项选择加载该项的页面,然后加载时,滚动到它

编辑:为了避免人们只阅读问题并回答,在阅读我的其他回复之前,我将在此处添加我对GPL许可和类似问题的澄清.

我需要使用的框架不能在许可证下分发,这需要我根据类似的许可证授权我自己的项目.GPL许可证系列允许有关库使用的例外,但这不适用于此,因为必要时,我需要使用的框架类型将是所有源代码.

该项目可以轻松容纳商业图书馆.

此外,我不需要像这样的框架,看起来很好并且不会过度混淆的示例文件也是受欢迎的.

iphone web-applications dashcode

22
推荐指数
1
解决办法
2万
查看次数

在Visual Studio for C#中从流畅的接口类intellisense隐藏GetHashCode/Equals/ToString?

我有一个流畅的IoC容器注册过程接口,其中包含一些用于构建注册的类.

例如,我可以这样做:

builder.Register<IFoo>().From.ConcreteType<Foo>();
Run Code Online (Sandbox Code Playgroud)

但是,在点之后的每个步骤中,会弹出intellisense,显示Object类,GetHashCode,Equals,GetType和ToString中的四种标准方法.

我尝试在几个类中重写这些方法,将EditorBrowsableAttribute属性附加到每个类,但它们仍然显示出来.我没有办法隐藏它们吗?

请注意,我并不是试图将它们隐藏在类本身之外,只是来自intellisense.

基本上,我喜欢这个:

                         +---------------+
builder.Register<IFoo>().|As             |
                         |By             |
                         |Equals         | <-- remove this
                         |From           |
                         |GetHashCode    | <-- and this
                         |GetType        | <-- as well as this
                         |ToString       | <-- and finally this
                         +---------------+
Run Code Online (Sandbox Code Playgroud)

这是我在返回的类中尝试的内容Register<T>:

[EditorBrowsable(EditorBrowsableState.Never)]
public override Boolean Equals(Object obj)
{
    return base.Equals(obj);
}

[EditorBrowsable(EditorBrowsableState.Never)]
public override Int32 GetHashCode()
{
    return base.GetHashCode();
}

[EditorBrowsable(EditorBrowsableState.Never)]
public override String ToString()
{
    return base.ToString();
}
Run Code Online (Sandbox Code Playgroud)

这显然不起作用.还有什么我可以尝试的吗?

我还尝试添加一个新方法,而不是重写Object,并将相同的属性应用于该方法,并且也显示出来,所以显然该属性没有按照我的想法做.

我注意到文档中的注释没有从同一个程序集中隐藏东西,但我尝试创建一个新项目,它们仍然显示在那里.

c# methods intellisense hide visual-studio

22
推荐指数
2
解决办法
4138
查看次数

禁用文本的系统颜色是什么?

我有一个没有禁用/启用支持文本的控件,所以我需要在其中构建它.

问题很简单:如果我想选择正确的系统颜色,以便此控件具有与相邻禁用标签相同的禁用文本颜色,我应该选择哪种系统颜色?我已经尝试了一些,似乎没有一个,它们要么太轻或太暗.

换句话说,假设存在ForeColor属性,我应该在这里写什么:

myDefunctLabel.ForeColor = SystemColors.???;
Run Code Online (Sandbox Code Playgroud)

.net text colors winforms

22
推荐指数
2
解决办法
7713
查看次数

WINDBG,如何查看数组的内容?

我正在使用WINDBG来分析转储文件,以查找内存使用率过高的程序.

其中一个涉及的对象是持有一个对象数组,引用我想看的很多对象,试图找出它们被分配的原因.

这是我尝试过的:

首先,我的ServiceContainer对象集合:

0:000> !do 05633014 
Name: System.Collections.Generic.List`1[[LVK.IoC.ServiceContainer, LVK.Core]]
MethodTable: 08b3c7fc
EEClass: 6f70ca78
Size: 24(0x18) bytes
 (C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
Fields:
      MT    Field   Offset                 Type VT     Attr    Value Name
6f924324  40009d8        4      System.Object[]  0 instance 1da226ec _items
6f952da0  40009d9        c         System.Int32  1 instance     5356 _size
6f952da0  40009da       10         System.Int32  1 instance     5538 _version
6f950770  40009db        8        System.Object  0 instance 00000000 _syncRoot
6f924324  40009dc        0      System.Object[]  0   shared   static _emptyArray
    >> Domain:Value dynamic statics NYI
 002b2a28:NotInit  <<
Run Code Online (Sandbox Code Playgroud)

那个_items数组是我想看的那个,所以我发出了这个命令:

0:000> !do 1da226ec …
Run Code Online (Sandbox Code Playgroud)

arrays windbg managed-extensions

21
推荐指数
1
解决办法
1万
查看次数

更改值时禁用.NET进度条动画?

我意识到关于动画和进度条的SO还有其他问题,但它们似乎围绕着摆脱进度条上绘制的动画,即.旅行的亮点.

我想要做的是摆脱我设置进度条的新值时使用的动画.我现在遇到的问题是正在运行的操作完成,然后进度条在操作完成继续增加到最大位置.

换句话说,如果我将进度条的Value属性设置为50,我希望它立即前进到中途位置(如果max是100),而不是像现在那样慢慢地将进度条建立到该位置.

如果确实有一个关于SO的问题已经处理过这个问题,那么关闭就像重复一样,我会高兴地删除它,但我找不到任何问题.

这是我发现的那个:禁用WinForms ProgressBar动画,它处理动画的高亮,这不是我所说的.

这是一个简单的LINQPad演示,它显示了这个问题:

void Main()
{
    using (var fm = new Form())
    {
        var bt = new Button
        {
            Text = "Start",
            Location = new Point(8, 8),
            Parent = fm,
        };
        var pb = new ProgressBar
        {
            Top = bt.Top + bt.Height + 8,
            Width = fm.ClientRectangle.Width - 16,
            Left = 8,
            Parent = fm
        };

        bt.Click += (s, e) =>
        {
            bt.Enabled = false;
            Thread t = …
Run Code Online (Sandbox Code Playgroud)

.net animation winforms progress-bar

21
推荐指数
2
解决办法
1万
查看次数

iPhone,拨打另一个电话号码以回应第一个没有回答?

我正在尝试创建一个应用程序,该应用程序将在类似呼叫中心的列表上发起对优先级为1的联系人的呼叫.

然后,如果该联系人没有回答(让我们忘记在这里回答机器的整个问题),我想打电话给优先级2联系人,依此类推,直到他们中的一个回答或我耗尽我的名单.

这可能吗?

我尝试过以下方法:

  1. 挂钩进入CTCallCenter.CallEventHandler事件,并检查呼叫状态CTCallStateConnectedCTCallStateDisconnected,我得到它来响应呼叫断开的事实,没有连接,然后尝试启动另一个呼叫,就像我做的第一次,但第二次尝试只是坐死在水里.
  2. 覆盖DidEnterBackground方法,并定期检查CTCall.CallState属性,基本上再次尝试响应从未连接的断开连接,但这似乎不起作用

在尝试下一次拨号之前检测到断开状态后,我还尝试添加一个短暂的延迟(1秒,2.5秒和10秒),以允许电话应用程序在中止呼叫后"安定下来",这没有任何改变.

iphone ios core-telephony

21
推荐指数
1
解决办法
3159
查看次数

将主构造函数参数传递给基类时如何“正确”(惯用)避免 CS9107

在 C# 12 中,我们获得了普通类的主构造函数。

考虑以下代码:

new Derived("XXX").Test();

public class Base(string name)
{
    protected void Log() => Console.WriteLine("Base: " + name);
}

public class Derived(string name) : Base(name)
{
    public void Test()
    {
        base.Log();
        Console.WriteLine("Derived: " + name);
    }
}
Run Code Online (Sandbox Code Playgroud)

string name这会对主构造函数的参数发出以下警告Derived

Program.cs(8,42):警告 CS9107:参数“字符串名称”被捕获到封闭类型的状态中,并且其值也传递给基本构造函数。该值也可能由基类捕获。

我怎样才能避免这个警告,我应该使用编译指示来消除它吗?或者有更好的方法来避免吗?是不是代码写错了?我不确定我是否能看到替代方案,除了放弃主要构造函数并将整个内容重写为:

new Derived("XXX").Test();

public class Base
{
    protected readonly string _name;

    protected Base(string name)
    {
        _name = name;
    }

    protected void Log() => Console.WriteLine("Base: " + _name);
}


public class Derived : Base
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# c#-12.0

21
推荐指数
2
解决办法
1898
查看次数

使TeamCity将Subversion内部版本号集成到程序集版本中

我想调整我的类库的TeamCity构建配置的输出,以便生成的dll文件具有以下版本号:3.5.0.x,其中x是TeamCity拾取的subversion版本号.

我发现我可以使用BUILD_NUMBER环境变量来获取x,但不幸的是我不明白我还需要做什么.

我发现所有的"教程"都说"你只是将它添加到脚本中",但他们没有说出哪个脚本,而"this"通常是指MSBuild社区扩展中的AssemblyInfo任务.

我是否需要以某种方式构建自定义MSBuild脚本才能使用它?"脚本"是否与解决方案文件或C#项目文件相同?

我根本不了解MSBuild进程,除了我可以直接将解决方案文件传递给MSBuild,但我需要添加到"脚本"的是XML,解决方案文件看起来不像XML.

那么,有人能指出我如何使这项工作的分步指南?


这就是我最终得到的结果:

  1. 安装MSBuild社区任务
  2. 编辑我的核心类库的.csproj文件,并更改底部,使其显示为:

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
    <Target Name="BeforeBuild">
      <AssemblyInfo Condition=" '$(BUILD_NUMBER)' != '' "
          CodeLanguage="CS"
          OutputFile="$(MSBuildProjectDirectory)\..\GlobalInfo.cs"
          AssemblyVersion="3.5.0.0"
          AssemblyFileVersion="$(BUILD_NUMBER)" />
    </Target>
    <Target Name="AfterBuild">
    
    Run Code Online (Sandbox Code Playgroud)

  3. 更改我的所有AssemblyInfo.cs文件,以便它们不指定AssemblyVersion或AssemblyFileVersion(回想起来,我将考虑将AssemblyVersion放回去)

  4. 添加了一个指向位于所有项目外部的全局GlobalInfo.cs的链接
  5. 确保此文件构建一次,以便我在源代码管理中有一个默认文件

现在,只有在设置环境变量BUILD_NUMBER时才会更新GlobalInfo.cs,这是我通过TeamCity构建的时候.

我选择保持AssemblyVersion不变,以便引用仍然有效,并且只更新AssemblyFileVersion,以便我可以看到dll来自哪个构建.

svn msbuild teamcity continuous-integration version

20
推荐指数
2
解决办法
6595
查看次数

C#中可能的部分泛型类型推断?

我正在为我的IoC类库重写我的流畅界面,当我重构一些代码以便通过基类共享一些常用功能时,我遇到了麻烦.

注意:这是我想要做的事情,而不是我必须做的事情.如果我必须使用不同的语法,我会,但如果有人知道如何使我的代码按我想要的方式编译,那将是非常受欢迎的.

我希望某些扩展方法可用于特定的基类,并且这些方法应该是通用的,具有一个泛型类型,与方法的参数相关,但是这些方法也应该返回与特定后代相关的特定类型.被引用.

使用代码示例比上面的描述更好.

这是一个简单而完整的例子,不起作用:

using System;

namespace ConsoleApplication16
{
    public class ParameterizedRegistrationBase { }
    public class ConcreteTypeRegistration : ParameterizedRegistrationBase
    {
        public void SomethingConcrete() { }
    }
    public class DelegateRegistration : ParameterizedRegistrationBase
    {
        public void SomethingDelegated() { }
    }

    public static class Extensions
    {
        public static ParameterizedRegistrationBase Parameter<T>(
            this ParameterizedRegistrationBase p, string name, T value)
        {
            return p;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            ConcreteTypeRegistration ct = new ConcreteTypeRegistration(); …
Run Code Online (Sandbox Code Playgroud)

c# generics fluent-interface type-inference

20
推荐指数
2
解决办法
4616
查看次数

如何使用RingtoneManager.ACTION_RINGTONE_PICKER设置铃声?

我试着在这里找到解决方案,但是只有我自己/选定文件的解决方案,而不是我调用选择器时的代码.用户按下按钮时我使用以下代码:

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
ActivityCurrent.this.startActivityForResult(intent,999);
Run Code Online (Sandbox Code Playgroud)

这个节目铃声选择器,用户可以选择想要的铃声,但我想念两件事: - 它打开时不显示当前铃声 - 点击OK时不保存铃声OK


我仍然无法找到如何用已选择的当前铃声打开RINGTONE_PICKER.任何的想法?

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
ActivityCurrent.this.startActivityForResult(intent,999);
Run Code Online (Sandbox Code Playgroud)

android set picker ringtone

20
推荐指数
2
解决办法
3万
查看次数