Как я включаю направленную блокировку для UIScrollView?

Я думаю, что OracleBulkCopy - один из самых быстрых способов. У меня были некоторые проблемы, чтобы узнать, что мне нужна новая версия ODAC. Ср Где находится тип [Oracle.DataAccess.Client.OracleBulkCopy]?

Вот полный код PowerShell для копирования из запроса в подходящую существующую таблицу Oracle. Я пытался использовать Sql-Server как источник данных, но другие действительные источники OLE-DB перейдут на.

if ($ora_dll -eq $null)
{
    "Load Oracle dll"
    $ora_dll = [System.Reflection.Assembly]::LoadWithPartialName("Oracle.DataAccess") 
    $ora_dll
}

# sql-server or Oracle source example is sql-server
$ConnectionString ="server=localhost;database=myDatabase;trusted_connection=yes;Provider=SQLNCLI10;"

# Oracle destination
$oraClientConnString = "Data Source=myTNS;User ID=myUser;Password=myPassword"

$tableName = "mytable"
$sql = "select * from $tableName"

$OLEDBConn = New-Object System.Data.OleDb.OleDbConnection($ConnectionString)
$OLEDBConn.open()
$readcmd = New-Object system.Data.OleDb.OleDbCommand($sql,$OLEDBConn)
$readcmd.CommandTimeout = '300'
$da = New-Object system.Data.OleDb.OleDbDataAdapter($readcmd)
$dt = New-Object system.Data.datatable
[void]$da.fill($dt)
$OLEDBConn.close()
#Write-Output $dt

if ($dt)
{
    try
    {
        $bulkCopy = new-object ("Oracle.DataAccess.Client.OracleBulkCopy") $oraClientConnString
        $bulkCopy.DestinationTableName = $tableName
        $bulkCopy.BatchSize = 5000
        $bulkCopy.BulkCopyTimeout = 10000
        $bulkCopy.WriteToServer($dt)
        $bulkcopy.close()
        $bulkcopy.Dispose()
    }
    catch
    {
        $ex = 

Я думаю, что OracleBulkCopy - один из самых быстрых способов. У меня были некоторые проблемы, чтобы узнать, что мне нужна новая версия ODAC. Ср Где находится тип [Oracle.DataAccess.Client.OracleBulkCopy]?

Вот полный код PowerShell для копирования из запроса в подходящую существующую таблицу Oracle. Я пытался использовать Sql-Server как источник данных, но другие действительные источники OLE-DB перейдут на.

[110]

Кстати: я использую это для копирования таблицы со столбцами CLOB. Я не получил это работать с использованием связанных серверов ср. вопрос по дба . Я не пытался повторно связать подачу с новым ODAC.

.Exception Write-Error "Write-DataTable$($connectionName):$ex.Message" continue } }

Кстати: я использую это для копирования таблицы со столбцами CLOB. Я не получил это работать с использованием связанных серверов ср. вопрос по дба . Я не пытался повторно связать подачу с новым ODAC.

10
задан Ketan P 11 June 2019 в 07:11
поделиться

2 ответа

Сначала задайте contentSize UIScrollView , чтобы иметь ширину, равную ширине кадра UIScrollView или меньшую ее.

Затем установите UIScrollView alwaysBounceHorizontal на NO. Это предотвратит "резиновую полосу" в представлении прокрутки, даже если вы сказали, что горизонтального содержимого для отображения больше нет.

UIScrollView *scrollView;
CGSize size = scrollView.contentSize;
size.width = CGRectGetWidth(scrollView.frame);
scrollView.contentSize = size;
scrollView.alwaysBounceHorizontal = NO;

Не имеет значения, что на самом деле находится внутри представления прокрутки.

Swift 5.0

let scrollView = UIScrollView() // Or however you want to initialize it
var size = scrollView.contentSize
size.width = scrollView.frame.width
scrollView.contentSize = size
scrollView.alwaysBounceHorizontal = false
16
ответ дан 3 December 2019 в 20:44
поделиться

Вы создадите подкласс UIScrollView и переопределите метод touchesBegan: withEvent: , touchesMoved: withEvent: метод и метод touchesEnded: withEvent: .

Вы будете использовать эти методы вместе с начальной и конечной точками касания, чтобы вычислить, какое событие касания имело место: простое касание, горизонтальное или вертикальное смахивание?

Если это горизонтальное смахивание, вы отменяете событие касания.

Взгляните на исходный код здесь , чтобы узнать, как можно начать.

2
ответ дан 3 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: