小编Ilm*_*nen的帖子

不知道为什么UIView被大约10px轻推

我创建了一个简单的iPhone应用程序,它有两个.xib文件.在应用程序中的app委托确实完成启动我通过调用显示第一个.xib文件:

[window addSubview:myView];
Run Code Online (Sandbox Code Playgroud)

我在IBAction上为UIButton做同样的事情,将视图更改为myView2.

我发现,当我运行应用程序时,对于两个视图都有一个大约10像素的白条.我还注意到按钮偏移了10个像素(大约).所以我得到的结论是,视图从屏幕上的10个像素开始显示并且结束时间短.

知道为什么会这样,我如何解决它,或者我如何进一步调试正在发生的事情?我检查了我的.xib文件,他们正在消耗设备的整个高度(即没有白条),所以这看起来是XCode内部的一个问题.

编辑:我已经把问题缩小了一点.我正在使用两种方法来加载子视图.当我加载第一个视图里面的applicationDidFinishLaunching一切都很好.但是,如果我更换了两条消息window[self originalView]方法,那么一切都有点失控.

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    //[self originalView];  <- I want to use this instead of the following two lines

    // Override point for customization after app launch    
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

}

-(void)endView{
    endV = [[EndViewController alloc] initWithNibName:@"EndView" bundle:nil];
    [window removeFromSuperview];
    [window addSubview:endV.view];  
}
-(void)originalView{
    viewController = [[MyAppViewController alloc] init];
    [window removeFromSuperview];
    [window addSubview:viewController.view];

}
Run Code Online (Sandbox Code Playgroud)

从我所看到的,我总是调用相同的代码行,无论它是在内部applicationDidFinishLaunching还是在内部,[self originalView]但它似乎window变成了一个不同的对象.

iphone xcode window xib uiview

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

为什么SQL Server Management Studio 2008命令行开关停止工作?

我一直非常依赖于SSMS的Windows快捷方式,其中包括命令行开关,允许我快速打开特定服务器上的特定数据库.例如

Ssms.exe -S 123.123.123.123 -U sa -P goodpassword -d DbName
Run Code Online (Sandbox Code Playgroud)

要么

Ssms.exe -S . -E -d DbName
Run Code Online (Sandbox Code Playgroud)

这突然停止了工作.我从SSMS得到这个错误:

Failed to create new SQL Server script.
Object reference not set to an instance of an object. (AppIDPackage)
Program Location: at Microsoft.SqlServer.Management.UI.VSIntegration.
AppIDPackage.AppIDPackage.OpenConnectionDialogWithGlobalConnectionInfo()
Run Code Online (Sandbox Code Playgroud)

我仍然可以在没有命令行开关的情况下启动SSMS,然后手动建立连接.例如,某些命令行开关仍然有效

ssms.exe -nosplash
Run Code Online (Sandbox Code Playgroud)

工作良好.

我使用-S,-E和-d命令行开关的任意组合得到相同的错误.如果我指向有效的服务器或数据库或者没有,或者如果我的登录凭据是好还是不好不要紧.我可以指向旧版本的SSMS,它工作正常,但不是2008版本.

MSDN论坛上的这篇文章是我在网上找到的,但是MS在这个帖子上并没有很大帮助.

我有什么想法可以开始解决这个问题吗?我在不同的服务器上使用很多不同的数据库,我真的依赖这些快捷方式.

command-line ssms sql-server-2008

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

C#的FFT不精确

我一直在试验FFT算法.我使用NAudio以及来自互联网的FFT算法的工作代码.根据我对性能的观察,得到的音高是不准确的.

会发生的事情是我有一个MIDI(由GuitarPro生成)转换为WAV文件(44.1khz,16位,单声道),其中包含从E2(最低吉他音符)到大约E6的音高级数.低音(E2-B3附近)的结果通常是非常错误的.但达到C4有点正确,因为你已经可以看到正确的进展(下一个音符是C#4,然后是D4等)但是,问题在于检测到的音高是低于实际音高的半音(例如,C4应该是音符,但是显示D#4).

您认为可能有什么不对?如有必要,我可以发布代码.非常感谢!我还是开始掌握DSP的领域.

编辑:这是我正在做的粗略划痕

byte[] buffer = new byte[8192];
int bytesRead;
do
{
  bytesRead = stream16.Read(buffer, 0, buffer.Length);
} while (bytesRead != 0);
Run Code Online (Sandbox Code Playgroud)

然后:(waveBuffer只是一个将byte []转换为float []的类,因为该函数只接受float [])

public int Read(byte[] buffer, int offset, int bytesRead)
{
  int frames = bytesRead / sizeof(float);
  float pitch = DetectPitch(waveBuffer.FloatBuffer, frames);
}
Run Code Online (Sandbox Code Playgroud)

最后:( Smbpitchfft是具有FFT算法的类...我相信它没有错,所以我不在这里发布)

private float DetectPitch(float[] buffer, int inFrames)
{
  Func<int, int, float> window = HammingWindow;
  if (prevBuffer == null)
  {
    prevBuffer = new float[inFrames]; //only contains zeroes
  }  

  // double frames since …
Run Code Online (Sandbox Code Playgroud)

c# signal-processing fft pitch-tracking pitch

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

我应该使用HTTP引用者验证或令牌验证来防止CSRF攻击吗?

我读到了如何在ASP.NET MVC Web应用程序中保护我的网站免受CSRF攻击.他们提到了两种方法,可以通过以下方式:

  1. 使用<@Html.AntiForgeryToken()>和使用令牌验证[ValidateAntiforgeryToken]

  2. 使用HTTP引用者验证,例如:

    public class IsPostedFromThisSiteAttribute : AuthorizeAttribute
        {
        public override void OnAuthorize(AuthorizationContext filterContext)
            {
            if (filterContext.HttpContext != null)
                {
                if (filterContext.HttpContext.Request.UrlReferrer == null)
                    throw new System.Web.HttpException("Invalid submission");
                if (filterContext.HttpContext.Request.UrlReferrer.Host !=
                    "mysite.com")
                    throw new System.Web.HttpException
                        ("This form wasn't submitted from this site!");
                }
            }
        }
    
    Run Code Online (Sandbox Code Playgroud)

    [IsPostedFromThisSite]
    public ActionResult Register(…)
    
    Run Code Online (Sandbox Code Playgroud)

所以我很困惑我是否应该使用它们来保护我的网站免受CSRF攻击,或者我是否可以选择其中一种方法?

security csrf asp.net-mvc-3

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

近似重复的视频检测

我正在寻找能够解决近乎重复的视频检测问题的开源项目.最好的,我现在发现它是SOTU,但其来源已关闭.那么,有没有开源解决方案?

另外,我将非常感谢这个问题的理论部分的一些链接.

video open-source duplicate-detection

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

检测canvas元素是否在画布边界之外

我工作的一个项目中,管理员可以创建一个名片模板,使他们能够像插入占位符变量{first_name},{last_name},{website}等于是一个卡将通过使用户填写自己的名字,姓氏等,所以基本上占位符创建将被用户提供的实际内容所取代.为此,我将从管理员创建的模板创建一个SVG图像,并将这些占位符变量替换为服务器端的用户数据.

问题在于,如果用户提供的内容太长,则可能会延伸到画布边界之外,因此在打印实际卡时可能会被切断.

有没有办法检测到,在替换占位符后,canvas元素会延伸到画布边界之外?如果是这样,有没有办法找到该元素并使其收缩直到它适合边界?基本上,我想类似这样,但在服务器端.

这是我用来生成SVG图像的一些示例代码:

$message_string = array('{first_name}','{last_name}');
$replace_string = array('Fist Name of User','Last Name Of User');
$front_svg_url = $svg_url.$res_code[0]['front_side_svg_image'];
$front_raw_svg = file_get_contents($front_svg_url);
$front_side_svg = str_ireplace($message_string, $replace_string, $front_raw_svg);
$file_name = uniqid($prefix).".svg";
$file_handle = fopen("$folder_name/".$file_name, 'w');
fwrite($file_handle, $front_side_svg);
fclose($file_handle);
Run Code Online (Sandbox Code Playgroud)

在服务器端我只是替换变量,所以我不知道如何在服务器上实现这一点.我愿意接受任何可以实现我预期产出的想法.

javascript php svg canvas fabricjs

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

SNMP MIB开发工具

有没有人知道一个很好的工具来帮助开发具有正确格式和语法的SNMP MIB?

如果可能,它应该是免费的并在Linux下运行.

snmp mib

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

获取用户操作系统和版本号

为此,我花了一天时间在Googeling上下; 到目前为止没有运气.

如何获取用户操作系统和版本.我的Mac OS X 10.6.4,办公室的备用PC将是Windows XP SP3.你看到我得到了什么.

我已经看到了一百万个方法来单独获取用户平台,而不是版本.

JS是理想的,但服务器端(PHP)解决方案也可以.

javascript php os-detection

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

将Word文档转换为XSL-FO

我正在使用Microsoft Word 2007.我想将Word文档转换为XSL-FO.网上有一些提示,但仅适用于RenderX.Apache FOP有这样的工具吗?

xsl-fo ms-word apache-fop

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

逻辑OR(||)的原因不明的语法错误

我正在使用NetBeans for Mac,我正在Linux中运行CakePHP(虽然我不认为框架与它有任何关系).这不是一个大问题,但令人沮丧.

我想知道为什么我不能简单地这样做:

if($this->Session->read('User.value1') || $this->Session->read('User.value2')){
  ...
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是:

Error: syntax error, unexpected '$this' (T_VARIABLE)
Run Code Online (Sandbox Code Playgroud)

为什么会出现语法错误?我看不出来.

我可以毫无问题地做到这一点:

if($this->Session->read('value1')){
  ...
}
Run Code Online (Sandbox Code Playgroud)

我也可以毫无问题地做到这一点(没有空白||):

if($this->Session->read('User.value1')||$this->Session->read('User.value2')){
  ...
}
Run Code Online (Sandbox Code Playgroud)

但如果我在||操作员周围放置空格,它就会停止工作.或者更确切地说 - 这是最令人困惑的部分 - 当我在操作员周围放置空格时,它有时会停止工作||,有时则不会.

我认为这可能是Netbeans 7.4中的一个错误,但是当我忽略NetBeans的警告并试图运行代码时,PHP给了我同样的错误.

这里发生了什么?

php netbeans

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