小编pou*_*pou的帖子

iOS/monotouch程序化UI布局的最佳实践

iOS新手,来自Java/Swing世界,我习惯于以编程方式创建UI,让组件自行调整大小并使用各种聪明的布局管理器来安排事情.

似乎很清楚,iOS方式是大量使用Interface Builder,具有大量固定的大小和定位.我不确定IB会不会自然而然地出现,但我认为固定布局是有意义的,因为你正在使用有限的空间和固定的窗口大小.

但是,我似乎仍然在编写很多样板文件,并且违反了DRY,等等.

有人能指出我在推出iOS UI,特别是程序化UI方面的一个很好的入门书吗?

xamarin.ios ios

10
推荐指数
1
解决办法
3962
查看次数

UILabel在Xamarin.iOS中有填充?

我正在尝试UILabel在我的Xamarin.iOS应用程序中创建一个填充.本机Objective-C应用程序中最流行的解决方案是重写drawTextInRect:

- (void)drawTextInRect:(CGRect)rect {
    UIEdgeInsets insets = {0, 5, 0, 5};
    return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,我无法弄清楚如何将其转换为C#.这是我最好的尝试:

internal class PaddedLabel : UILabel
{
    public UIEdgeInsets Insets { get; set; }

    public override void DrawText(RectangleF rect)
    {
        var padded = new RectangleF(rect.X + Insets.Left, rect.Y, rext.Width + Insets.Left + Insets.Right, rect.Height);

        base.DrawText(padded);
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎会移动标签的文本,但它不会调整标签的大小.

我认为主要问题是我找不到相应的Xamarin UIEdgeInsetsInsetRect.

有什么建议?

c# iphone uilabel xamarin.ios ios

10
推荐指数
2
解决办法
9230
查看次数

是否是可移植类库支持的System.Security.Cryptography命名空间

我正在将现有的多目标Silverlight/.NET项目转换为可移植类库项目,以减少支持多个Microsoft平台所需的项目数.

我在一个使用System.Security.Cryptography命名空间的类中有错误

命名空间'System.Security'中不存在类型或命名空间名称'Cryptography'(您是否缺少程序集引用?)

这个命名空间在Silverlight中可用,我想知道为什么Portable Class Library不支持它?

一个原因可能是此行为是设计原因:任何与加密相关的代码都不应出现在客户端API中.

.net c silverlight cryptography portable-class-library

9
推荐指数
1
解决办法
6147
查看次数

MonoTouch.Dialog:响应RadioGroup选择

我有一个由MonoTouch.Dialog创建的Dialog.无线电组中有一份医生名单:

    Section secDr = new Section ("Dr. Details") {
       new RootElement ("Name", rdoDrNames){
          secDrNames
    }
Run Code Online (Sandbox Code Playgroud)

我希望Element在选择Doctor之后更新代码.通知RadioElement已被选中的最佳方式是什么?

c# radio-button xamarin.ios ios monotouch.dialog

9
推荐指数
1
解决办法
4522
查看次数

如何存储用于加密文件的密钥

我正在玩一个应用程序将文件备份到"云":)我想在存储之前加密文件.这部分我已经介绍过,但是由于这个应用程序将监视文件夹以进行更改并上传更改的文件,我需要存储用于加密文件的密钥.想法是用户提供密码并生成密钥.

目前我正在使用.NET Framework进行加密.我正在使用RijndaelManaged类来加密/解密,而使用PasswordDeriveBytes类来获取密钥.

但是,我应该如何保留用于加密文件的密钥?我也希望程序从Windows开始,而不需要让用户再次输入密码.

c# encryption cryptography aes rijndael

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

'System.ComponentModel.DataAnnotations.dll'适用于Android和iOS?

尝试编译VelocityDB for android时,我收到了附加的错误消息.由于VelocityDB支持表示它确实需要数据注释.

引用的'System.ComponentModel.DataAnnotations.dll'是否适用于Android和iOS?

谢谢Jozsef

错误消息:"错误1加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集'System.ComponentModel.DataAnnotations,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'.也许它不存在于Mono for Android profile?文件名:'System.ComponentModel.DataAnnotations.dll'at Monodroid.Tuner.MonoDroidResolver.Resolve(AssemblyNameReference reference,ReaderParameters parameters)at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 assemblies,AssemblyDefinition程序集)在Xamarin.Android.Tasks.ResolveAssemblies.Execute()"

.net database xamarin.ios xamarin.android data-annotations

9
推荐指数
1
解决办法
2793
查看次数

Xamarin c#代码的IL大小?

Xamarin对我来说似乎是跨平台开发的不错选择.但是,有启动器和独立许可证.主要区别在于:

Xamarin Starter允许开发人员构建和发布简单的应用程序,其中包含不超过32k的编译用户代码(IL)

我想知道,IL是32K是一个非常严格的瓶颈吗?我可以从32K代码获得什么?

如果您已经尝试过Xamarin入门版,那么尺寸限制对您来说是个问题,您开发的应用程序类型是什么?

xamarin.ios xamarin.android xamarin xamarin.mac

9
推荐指数
1
解决办法
6286
查看次数

Monotouch中是否存在NSString的"stringByReplacingCharactersInRange"方法?

NSString的 Apple文档中有一个stringByReplacingCharactersInRange方法,但是我在Monotouch中找不到这个方法.

Monotouch是否缺少此方法实现 - 本机API绑定?

我需要这个方法在shouldChangeCharactersInRange中实现一些自定义字符串处理逻辑

monodevelop nsstring xamarin.ios ios4 ios

8
推荐指数
2
解决办法
1897
查看次数

建议在运行时测试iOS版本特定功能的方法

我正在使用针对5.0 SDK构建的应用程序来定位IOS 4.3和5.0,并且只有当应用程序在iOS5设备上运行时才想添加对iOS5中引入的Twitter功能的支持.在运行时可靠地测试这些OS功能的可用性而不会导致应用程序崩溃的推荐方法是什么?

我知道你在Objective-C中使用respondsToSelector来做到这一点,但它是如何在C#中完成的?

c# versioning iphone xamarin.ios ios

8
推荐指数
2
解决办法
2081
查看次数

使用Xamarin Studio运行新的MonoGame项目

我正在尝试使用MonoGame为mac启动一个新项目.我已经安装了我认为必需的所有东西但是当我运行新项目时(单声道游戏徽标应该弹出)我在输出中得到这两行:

加载程序集:/Users/Kristin/Projects/Test/Test/bin/Debug/Test.app/Contents/MonoBundle/Test.exe加载程序集:/Users/Kristin/Projects/Test/Test/bin/Debug/Test.app /Contents/MonoBundle/MonoMac.dll [外部]

并且启动的新应用程序挂起而不会弹出窗口.我尝试按照此页面上的步骤操作:http://jamie.ly/wordpress/programming/software/setting-up-a-monogame-mac-application-with-xamarin-studio/

但似乎没有什么能解决我的问题.有任何想法吗?

installation monomac monogame xamarin

8
推荐指数
1
解决办法
7970
查看次数